डॉकबुक: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 21: Line 21:
डॉकबुक तकनीकी दस्तावेज के लिए एक सिमेंटिक मार्कअप भाषा है। यह मूल रूप से कंप्यूटर हार्डवेयर और सॉफ्टवेयर से संबंधित तकनीकी दस्तावेज लिखने के लिए था, लेकिन इसका उपयोग किसी अन्य प्रकार के प्रलेखन के लिए किया जा सकता है।<ref>[http://docbook.org/whatis What is DocBook?]</ref>  
डॉकबुक तकनीकी दस्तावेज के लिए एक सिमेंटिक मार्कअप भाषा है। यह मूल रूप से कंप्यूटर हार्डवेयर और सॉफ्टवेयर से संबंधित तकनीकी दस्तावेज लिखने के लिए था, लेकिन इसका उपयोग किसी अन्य प्रकार के प्रलेखन के लिए किया जा सकता है।<ref>[http://docbook.org/whatis What is DocBook?]</ref>  


एक सिमेंटिक भाषा के रूप में, डॉकबुक अपने उपयोगकर्ताओं को एक प्रस्तुति-तटस्थ रूप में दस्तावेज़ सामग्री बनाने में सक्षम बनाता है जो सामग्री की तार्किक संरचना को कैप्चर करता है; उस सामग्री को तब एचटीएमएल, एक्सएचटीएमएल, ईपीयूबी, पीडीएफ, मैन पेज, वेबहेल्प और एचटीएमएल हेल्प सहित विभिन्न स्वरूपों में प्रकाशित किया जा सकता है।<ref name="webhelp-1.76.1">[http://blog.kasunbg.com/2010/08/docbook-webhelp-project.html DocBook WebHelp Project]</ref> उपयोगकर्ताओं को स्रोत में कोई भी बदलाव करने की अनुमति देने की आवश्यकता के बिना है। दूसरे शब्दों में, जब डॉकबुक प्रारूप में एक दस्तावेज लिखा जाता है, तो इसे फिर से लिखने की आवश्यकता के परिणामस्वरूप अन्य प्रारूपों में प्रभावी रूप से सक्षम हो जाता है।
एक सिमेंटिक भाषा के रूप में, डॉकबुक अपने उपयोगकर्ताओं को एक प्रस्तुति-तटस्थ रूप में डॉक्युमेंट सामग्री बनाने में सक्षम बनाता है जो सामग्री की तार्किक संरचना को कैप्चर करता है; उस सामग्री को तब एचटीएमएल, एक्सएचटीएमएल, ईपीयूबी, पीडीएफ, मैन पेज, वेबहेल्प और एचटीएमएल हेल्प सहित विभिन्न स्वरूपों में प्रकाशित किया जा सकता है।<ref name="webhelp-1.76.1">[http://blog.kasunbg.com/2010/08/docbook-webhelp-project.html DocBook WebHelp Project]</ref> उपयोगकर्ताओं को स्रोत में कोई भी बदलाव करने की अनुमति देने की आवश्यकता के बिना है। दूसरे शब्दों में, जब डॉकबुक प्रारूप में एक दस्तावेज लिखा जाता है, तो इसे फिर से लिखने की आवश्यकता के परिणामस्वरूप अन्य प्रारूपों में प्रभावी रूप से सक्षम हो जाता है।


== डिजाइन ==
== डिजाइन ==
डॉकबुक एक [[एक्सएमएल]] भाषा है। इसके वर्तमान संस्करण (5.x) में, डॉकबुक की भाषा औपचारिक रूप से एक [[का आराम]] [[एक्सएमएल स्कीमा]] द्वारा एकीकृत स्कीमाट्रॉन नियमों के साथ परिभाषित की गई है। (स्कीमा के [[W3C XML स्कीमा]]+स्कीमेट्रॉन और [[दस्तावेज़ प्रकार परिभाषा]] (DTD) संस्करण भी उपलब्ध हैं, लेकिन इन्हें गैर-मानक माना जाता है।)
डॉकबुक एक एक्सएमएल भाषा है। इसके वर्तमान संस्करण (5.x) में, डॉकबुक की भाषा को औपचारिक रूप से रिलैक्स एनजी [[एक्सएमएल स्कीमा|स्कीमा]] द्वारा एकीकृत स्कीमट्रॉन नियमों के साथ परिभाषित किया गया है। (स्कीमा के डब्ल्यू3सी एक्सएमएल स्कीमा + स्कीमट्रॉन और डॉक्युमेंट प्रकार परिभाषा (डीटीडी) संस्करण भी उपलब्ध हैं, लेकिन इन्हें गैर-मानक माना जाता है।)


सिमेंटिक भाषा के रूप में, DocBook दस्तावेज़ यह नहीं बताते कि उनकी सामग्री कैसी दिखती है, बल्कि उन सामग्रियों का अर्थ बताता है। उदाहरण के लिए, किसी लेख के लिए [[सार (सारांश)]] को विज़ुअल रूप से कैसे स्वरूपित किया जा सकता है, यह समझाने के बजाय, डॉकबुक केवल यह कहता है कि एक विशेष खंड एक सार है। यह एक बाहरी प्रसंस्करण उपकरण या एप्लिकेशन पर निर्भर करता है कि वह पृष्ठ पर कहां जाना चाहिए और यह कैसा दिखना चाहिए या इसे अंतिम आउटपुट में शामिल किया जाना चाहिए या नहीं।
शब्दार्थ (सिमेंटिक) भाषा के रूप में, डॉकबुक दस्तावेज यह नहीं बताता कि उनकी सामग्री कैसी दिखती है, बल्कि उन सामग्रियों का क्या अर्थ है। उदाहरण के लिए, यह समझाने के बजाय कि किसी लेख के लिए सार को दृश्य रूप से कैसे प्रारूपित किया जाए, डॉकबुक केवल यह बताता है कि एक विशेष अनुभाग एक संक्षिप्त शब्द है। किसी पृष्ठ पर सार कहाँ जाना चाहिए और यह कैसा दिखना चाहिए या इसे अंतिम आउटपुट में शामिल किया जाना चाहिए या नहीं, यह तय करना बाहरी प्रसंस्करण उपकरण या एप्लिकेशन पर निर्भर है।


डॉकबुक बड़ी संख्या में सिमेंटिक तत्व टैग प्रदान करता है। उन्हें तीन व्यापक श्रेणियों में बांटा गया है, अर्थात् संरचनात्मक, ब्लॉक-स्तर और इनलाइन।
डॉकबुक बड़ी संख्या में सिमेंटिक तत्व टैग प्रदान करता है। इन्हें संरचनात्मक, ब्लॉक-स्तरीय और इनलाइन नामक तीन व्यापक श्रेणियों में विभाजित किया गया है।


संरचनात्मक टैग उनकी सामग्री की व्यापक विशेषताओं को निर्दिष्ट करते हैं। <code>book</code> e> तत्व, उदाहरण के लिए, निर्दिष्ट करता है कि इसके बाल तत्व किसी पुस्तक के भागों का प्रतिनिधित्व करते हैं। इसमें शीर्षक, अध्याय, शब्दावलियां, परिशिष्ट आदि शामिल हैं। डॉकबुक के संरचनात्मक टैग में शामिल हैं, लेकिन इन तक सीमित नहीं हैं:
संरचनात्मक टैग उनकी सामग्री की विस्तृत विशेषताओं को निर्दिष्ट करते हैं। उदाहरण के लिए, <code>book</code> तत्व निर्दिष्ट करता है कि उसके बाल तत्व किसी पुस्तक के हिस्सों का प्रतिनिधित्व करते हैं। इसमें शीर्षक, अध्याय, शब्दावली, परिशिष्ट इत्यादि शामिल हैं। डॉकबुक के संरचनात्मक टैग में ये शामिल हैं, लेकिन ये इन्हीं तक सीमित नहीं हैं:


*<code>set</code>: एक या अधिक का शीर्षक संग्रह <code>book</code>एस या <code>article</code>s, अन्य सेटों के साथ नेस्ट किया जा सकता है
*<code>set</code>: एक या एक से अधिक <code>book s</code>या <code>article s</code>, का शीर्षक संग्रह, अन्य सेटों के साथ जोड़ा जा सकता है।
*<code>book</code>: का शीर्षक संग्रह <code>chapter</code>एस, <code>article</code>एस, और/या <code>part</code>एस, वैकल्पिक शब्दावलियों, परिशिष्टों आदि के साथ।
*<code>book</code>: का शीर्षक संग्रह <code>chapter s</code>, <code>article s</code>, और/या <code>part s</code>, वैकल्पिक शब्दावलियों, परिशिष्टों आदि के साथ है।
*<code>part</code>: एक या अधिक का शीर्षक संग्रह <code>chapter</code>s—अन्य भागों के साथ नेस्ट किया जा सकता है, और इसमें विशेष परिचयात्मक टेक्स्ट हो सकता है
*<code>part</code>: एक या अधिक का शीर्षक संग्रह <code>chapter</code>s—अन्य भागों के साथ नेस्ट किया जा सकता है, और इसमें विशेष प्रारंभिक पाठ हो सकता है।
*<code>article</code>: ब्लॉक-स्तरीय तत्वों का शीर्षक रहित संग्रह
*<code>article</code>: ब्लॉक-स्तरीय तत्वों का शीर्षक रहित, क्रमांकित संग्रह है।
*<code>chapter</code>: ब्लॉक-स्तरीय तत्वों का शीर्षक, क्रमांकित संग्रह-अध्यायों को स्पष्ट संख्याओं की आवश्यकता नहीं है, एक अध्याय संख्या XML दस्तावेज़ में पिछले अध्याय तत्वों की संख्या प्लस 1 है
*<code>chapter</code>: शीर्षक, ब्लॉक-स्तरीय तत्वों का क्रमांकित संग्रह - अध्यायों को स्पष्ट संख्याओं की आवश्यकता नहीं होती है, एक अध्याय संख्या एक्सएमएल डॉक्युमेंट में पिछले अध्याय के तत्वों की संख्या और 1 है।
*<code>appendix</code>: एक [[परिशिष्ट]] का प्रतिनिधित्व करने वाला पाठ शामिल है
*<code>appendix</code>: इसमें वह पाठ है जो एक परिशिष्ट का प्रतिनिधित्व करता है।
*<code>dedication</code>: पाठ निहित संरचनात्मक तत्व के समर्पण का प्रतिनिधित्व करता है
*<code>dedication</code>: पाठ निहित संरचनात्मक तत्व के समर्पण को दर्शाता है।


संरचनात्मक तत्वों में अन्य संरचनात्मक तत्व हो सकते हैं। DocBook दस्तावेज़ में केवल संरचनात्मक तत्व ही अनुमत शीर्ष-स्तरीय तत्व हैं।
संरचनात्मक तत्वों में अन्य संरचनात्मक तत्व हो सकते हैं। डॉकबुक डॉक्युमेंट में संरचनात्मक तत्व एकमात्र अनुमत शीर्ष-स्तरीय तत्व हैं।


ब्लॉक-लेवल टैग पैराग्राफ, लिस्ट आदि जैसे तत्व हैं। इन सभी तत्वों में सीधे टेक्स्ट नहीं हो सकता है। अनुक्रमिक ब्लॉक-स्तरीय तत्व एक के बाद एक प्रस्तुत करते हैं। के बाद, इस मामले में, भाषा के आधार पर भिन्न हो सकते हैं। अधिकांश पश्चिमी भाषाओं में, के बाद का अर्थ नीचे है: पाठ पैराग्राफ पृष्ठ के नीचे मुद्रित होते हैं। अन्य भाषाओं की लेखन प्रणाली#दिशात्मकता; उदाहरण के लिए, जापानी में, पैराग्राफ अक्सर नीचे के कॉलम में मुद्रित होते हैं, कॉलम दाएं से बाएं चलते हैं, इसलिए उस स्थिति में बाद बाईं ओर होगा। DocBook शब्दार्थ इस प्रकार की भाषा-आधारित अवधारणाओं के लिए पूरी तरह से तटस्थ हैं।
''ब्लॉक-लेवल''  टैग पैराग्राफ, सूचियां आदि जैसे तत्व हैं। इन सभी तत्वों में सीधे तौर पर टेक्स्ट नहीं हो सकता है। अनुक्रमिक ब्लॉक-स्तरीय तत्व एक को "एक के बाद एक" प्रस्तुत करते हैं। इस मामले में, बाद में, भाषा के आधार पर भिन्न हो सकते हैं। अधिकांश पश्चिमी भाषाओं में, "बाद" का अर्थ निम्न है: पाठ पैराग्राफ पृष्ठ के नीचे मुद्रित होते हैं। अन्य भाषाओं की लेखन प्रणालियों की दिशा अलग-अलग हो सकती है; उदाहरण के लिए, जापानी में, पैराग्राफ अक्सर नीचे की ओर वाले कॉलम में मुद्रित होते हैं, जिसमें कॉलम दाएं से बाएं ओर चलते हैं, इसलिए उस स्थिति में "बाद" बाईं ओर होगा। डॉकबुक शब्दार्थ इस प्रकार की भाषा-आधारित अवधारणाओं से पूरी तरह तटस्थ है।


इनलाइन-लेवल टैग्स स्ट्रेस, हाइपरलिंक्स आदि जैसे तत्व हैं। वे टेक्स्ट को ब्लॉक-लेवल एलिमेंट के भीतर लपेटते हैं। ये तत्व अनुच्छेद प्रारूप में प्रस्तुत किए जाने पर पाठ को तोड़ने का कारण नहीं बनते हैं, लेकिन आम तौर पर वे दस्तावेज़ प्रोसेसर को फ़ॉन्ट, आकार या समान विशेषताओं को बदलकर संलग्न पाठ के लिए किसी प्रकार के विशिष्ट टाइपोग्राफ़िकल उपचार को लागू करने का कारण बनते हैं। (डॉकबुक विनिर्देश कहता है कि यह विभिन्न टाइपोग्राफ़िकल उपचार की अपेक्षा करता है, लेकिन यह विशिष्ट आवश्यकताओं की पेशकश नहीं करता है कि यह उपचार क्या हो सकता है।) <code>emphasis</code> इटैलिक में टैग करें। पाठक-आधारित डॉकबुक प्रोसेसर शब्दों के आकार को बढ़ा सकता है, या पाठ-आधारित प्रोसेसर इटैलिक के बजाय बोल्ड का उपयोग कर सकता है।
इनलाइन-स्तरीय टैग जोर, हाइपरलिंक इत्यादि जैसे तत्व हैं। वे ब्लॉक-स्तरीय तत्व के भीतर टेक्स्ट को लपेटते हैं। पैराग्राफ प्रारूप में प्रस्तुत किए जाने पर ये तत्व पाठ को तोड़ने का कारण नहीं बनते हैं, लेकिन आम तौर पर वे डॉक्युमेंट प्रोसेसर को फ़ॉन्ट, आकार या समान विशेषताओं को बदलकर संलग्न पाठ में कुछ प्रकार के विशिष्ट टाइपोग्राफ़िकल उपचार लागू करने का कारण बनते हैं। (डॉकबुक विनिर्देश यह कहता है कि यह अलग टाइपोग्राफ़िकल उपचार की अपेक्षा करता है, लेकिन यह विशिष्ट आवश्यकताओं की पेशकश नहीं करता है कि यह उपचार क्या हो सकता है।) यानी, डॉकबुक प्रोसेसर को एक <code>emphasis</code> टैग को इटैलिक में बदलने की ज़रूरत नहीं है। रीडर-आधारित डॉकबुक प्रोसेसर शब्दों के आकार को बढ़ा सकता है, या, टेक्स्ट-आधारित प्रोसेसर इटैलिक के बजाय बोल्ड का उपयोग कर सकता है।


=== नमूना दस्तावेज़ ===
=== प्रतिरूप डॉक्युमेंट ===


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
Line 63: Line 63:
  </book>
  </book>
</syntaxhighlight>
</syntaxhighlight>
शब्दार्थ की दृष्टि से, यह दस्तावेज़ एक शीर्षक के साथ एक पुस्तक है, जिसमें दो अध्याय हैं जिनमें से प्रत्येक के अपने-अपने शीर्षक हैं। उन अध्यायों में वे अनुच्छेद हैं जिनमें पाठ है। मार्कअप अंग्रेजी में काफी पठनीय है।
शब्दार्थ की दृष्टि से, यह डॉक्युमेंट एक शीर्षक के साथ एक पुस्तक है, जिसमें दो अध्याय हैं जिनमें से प्रत्येक के अपने-अपने शीर्षक हैं। उन अध्यायों में वे अनुच्छेद हैं जिनमें पाठ है। मार्कअप अंग्रेजी में काफी पठनीय है।


अधिक विस्तार से, दस्तावेज़ का मूल तत्व है <code>book</code>. सभी डॉकबुक तत्व एक [[एक्सएमएल नेमस्पेस]] में हैं, इसलिए रूट तत्व में मौजूदा नेमस्पेस सेट करने के लिए एक एक्सएमएलएनएस विशेषता है। साथ ही, डॉकबुक दस्तावेज़ के मूल तत्व का एक ऐसा संस्करण होना चाहिए जो उस प्रारूप के संस्करण को निर्दिष्ट करता है जिस पर दस्तावेज़ बनाया गया है।
अधिक विस्तार से, डॉक्युमेंट का मूल तत्व है <code>book</code>. सभी डॉकबुक तत्व एक [[एक्सएमएल नेमस्पेस]] में हैं, इसलिए रूट तत्व में मौजूदा नेमस्पेस सेट करने के लिए एक एक्सएमएलएनएस विशेषता है। साथ ही, डॉकबुक डॉक्युमेंट के मूल तत्व का एक ऐसा संस्करण होना चाहिए जो उस प्रारूप के संस्करण को निर्दिष्ट करता है जिस पर डॉक्युमेंट बनाया गया है।


(XML दस्तावेज़ों में एकाधिक नामस्थानों के तत्व एक साथ शामिल हो सकते हैं, जैसे <code>id</code> उदाहरण में गुण।)
(XML डॉक्युमेंटों में एकाधिक नामस्थानों के तत्व एक साथ शामिल हो सकते हैं, जैसे <code>id</code> उदाहरण में गुण।)


ए <code>book</code> तत्व में ए होना चाहिए <code>title</code>, या एक <code>info</code> ए युक्त तत्व <code>title</code>. यह किसी भी बाल संरचनात्मक तत्वों से पहले होना चाहिए। शीर्षक के बाद संरचनात्मक बच्चे हैं, इस मामले में दो <code>chapter</code> तत्व। इनमें से प्रत्येक के पास एक होना चाहिए <code>title</code>. वे होते हैं <code>para</code> ब्लॉक तत्व, जिसमें मुक्त पाठ और अन्य इनलाइन तत्व शामिल हो सकते हैं <code>emphasis</code> पहले अध्याय के दूसरे पैराग्राफ में।
ए <code>book</code> तत्व में ए होना चाहिए <code>title</code>, या एक <code>info</code> ए युक्त तत्व <code>title</code>. यह किसी भी बाल संरचनात्मक तत्वों से पहले होना चाहिए। शीर्षक के बाद संरचनात्मक बच्चे हैं, इस मामले में दो <code>chapter</code> तत्व। इनमें से प्रत्येक के पास एक होना चाहिए <code>title</code>. वे होते हैं <code>para</code> ब्लॉक तत्व, जिसमें मुक्त पाठ और अन्य इनलाइन तत्व शामिल हो सकते हैं <code>emphasis</code> पहले अध्याय के दूसरे पैराग्राफ में।
Line 73: Line 73:
=== स्कीमा और सत्यापन ===
=== स्कीमा और सत्यापन ===


DocBook XML स्कीमा में नियमों को औपचारिक रूप से परिभाषित किया गया है। उपयुक्त प्रोग्रामिंग उपकरण किसी XML दस्तावेज़ (DocBook या अन्यथा) को उसके संबंधित स्कीमा के विरुद्ध सत्यापित कर सकते हैं, यह निर्धारित करने के लिए कि क्या (और कहाँ) दस्तावेज़ उस स्कीमा के अनुरूप विफल रहता है। XML संपादन उपकरण पहले स्थान पर गैर-अनुरूप दस्तावेज़ बनाने से बचने के लिए स्कीमा जानकारी का भी उपयोग कर सकते हैं।
DocBook XML स्कीमा में नियमों को औपचारिक रूप से परिभाषित किया गया है। उपयुक्त प्रोग्रामिंग उपकरण किसी XML डॉक्युमेंट (DocBook या अन्यथा) को उसके संबंधित स्कीमा के विरुद्ध सत्यापित कर सकते हैं, यह निर्धारित करने के लिए कि क्या (और कहाँ) डॉक्युमेंट उस स्कीमा के अनुरूप विफल रहता है। XML संपादन उपकरण पहले स्थान पर गैर-अनुरूप डॉक्युमेंट बनाने से बचने के लिए स्कीमा जानकारी का भी उपयोग कर सकते हैं।


== संलेखन और प्रसंस्करण ==
== संलेखन और प्रसंस्करण ==


क्योंकि DocBook XML है, दस्तावेज़ों को किसी भी पाठ संपादक के साथ बनाया और संपादित किया जा सकता है। एक समर्पित XML संपादक वैसे ही एक कार्यात्मक DocBook संपादक है। डॉकबुक लोकप्रिय एक्सएमएल स्कीमा भाषाओं के लिए एक्सएमएल स्कीमा प्रदान करता है, इसलिए कोई भी [[एक्सएमएल संपादक]] जो स्कीमा के आधार पर सामग्री पूर्णता प्रदान कर सकता है, वह डॉकबुक के लिए ऐसा कर सकता है। कई XML संपादक#ग्राफ़िकल संपादक या [[WYSIWYG]] XML संपादक#WYSIWYG संपादक डॉकबुक को [[ शब्द संसाधक ]] की तरह संपादित करने की क्षमता के साथ आते हैं। <ref name=":0">{{Cite web |title=डॉकबुक संपादन|url=https://www.oxygenxml.com/xml_editor/docbook_editor_structured_editing.html |access-date=2022-11-02 |website=www.oxygenxml.com}}</ref>
क्योंकि DocBook XML है, डॉक्युमेंटों को किसी भी पाठ संपादक के साथ बनाया और संपादित किया जा सकता है। एक समर्पित XML संपादक वैसे ही एक कार्यात्मक DocBook संपादक है। डॉकबुक लोकप्रिय एक्सएमएल स्कीमा भाषाओं के लिए एक्सएमएल स्कीमा प्रदान करता है, इसलिए कोई भी [[एक्सएमएल संपादक]] जो स्कीमा के आधार पर सामग्री पूर्णता प्रदान कर सकता है, वह डॉकबुक के लिए ऐसा कर सकता है। कई XML संपादक#ग्राफ़िकल संपादक या [[WYSIWYG]] XML संपादक#WYSIWYG संपादक डॉकबुक को [[ शब्द संसाधक ]] की तरह संपादित करने की क्षमता के साथ आते हैं। <ref name=":0">{{Cite web |title=डॉकबुक संपादन|url=https://www.oxygenxml.com/xml_editor/docbook_editor_structured_editing.html |access-date=2022-11-02 |website=www.oxygenxml.com}}</ref>
तालिकाएँ, सूची आइटम, और अन्य शैलीबद्ध सामग्री को DocBook संपादक में कॉपी और पेस्ट किया जा सकता है और DocBook XML आउटपुट में संरक्षित किया जाएगा। <ref name=":0" />क्योंकि डॉकबुक एक अच्छी तरह से परिभाषित एक्सएमएल स्कीमा के अनुरूप है, दस्तावेज़ों को किसी भी उपकरण या प्रोग्रामिंग भाषा का उपयोग करके सत्यापित और संसाधित किया जा सकता है जिसमें एक्सएमएल समर्थन शामिल है।
तालिकाएँ, सूची आइटम, और अन्य शैलीबद्ध सामग्री को DocBook संपादक में कॉपी और पेस्ट किया जा सकता है और DocBook XML आउटपुट में संरक्षित किया जाएगा। <ref name=":0" />क्योंकि डॉकबुक एक अच्छी तरह से परिभाषित एक्सएमएल स्कीमा के अनुरूप है, डॉक्युमेंटों को किसी भी उपकरण या प्रोग्रामिंग भाषा का उपयोग करके सत्यापित और संसाधित किया जा सकता है जिसमें एक्सएमएल समर्थन शामिल है।


== इतिहास ==
== इतिहास ==


DocBook 1991 में [[यूज़नेट]] पर चर्चा समूहों में शुरू हुआ और अंततः [[एचएएल कंप्यूटर सिस्टम्स]] और O'Reilly Media|O'Reilly & Associates की एक संयुक्त परियोजना बन गई और अंततः 1998 में SGML ओपन में जाने से पहले अपने स्वयं के रखरखाव संगठन (डेवेनपोर्ट समूह) को जन्म दिया। कंसोर्टियम, जो बाद में OASIS (संगठन) बन गया। DocBook वर्तमान में OASIS में DocBook तकनीकी समिति द्वारा अनुरक्षित है।<ref>[http://www.docbook.org/tdg5/en/html/ch01.html Getting Started with DocBook]</ref>
DocBook 1991 में [[यूज़नेट]] पर चर्चा समूहों में शुरू हुआ और अंततः [[एचएएल कंप्यूटर सिस्टम्स]] और O'Reilly Media|O'Reilly & Associates की एक संयुक्त परियोजना बन गई और अंततः 1998 में SGML ओपन में जाने से पहले अपने स्वयं के रखरखाव संगठन (डेवेनपोर्ट समूह) को जन्म दिया। कंसोर्टियम, जो बाद में OASIS (संगठन) बन गया। DocBook वर्तमान में OASIS में DocBook तकनीकी समिति द्वारा अनुरक्षित है।<ref>[http://www.docbook.org/tdg5/en/html/ch01.html Getting Started with DocBook]</ref>
दस्तावेज़ प्रकार परिभाषा के रूप में, डॉकबुक [[एसजीएमएल]] और एक्सएमएल दोनों रूपों में उपलब्ध है। XML संस्करण के RELAX NG और W3C XML स्कीमा फॉर्म उपलब्ध हैं। डॉकबुक 5 से शुरू होकर, रिलैक्स एनजी संस्करण मानक रूप है जिससे अन्य प्रारूप उत्पन्न होते हैं।
डॉक्युमेंट प्रकार परिभाषा के रूप में, डॉकबुक [[एसजीएमएल]] और एक्सएमएल दोनों रूपों में उपलब्ध है। XML संस्करण के RELAX NG और W3C XML स्कीमा फॉर्म उपलब्ध हैं। डॉकबुक 5 से शुरू होकर, रिलैक्स एनजी संस्करण मानक रूप है जिससे अन्य प्रारूप उत्पन्न होते हैं।


डॉकबुक मूल रूप से एक एसजीएमएल एप्लिकेशन के रूप में शुरू हुआ था, लेकिन एक समकक्ष एक्सएमएल एप्लिकेशन विकसित किया गया था और अब अधिकांश उपयोगों के लिए एसजीएमएल को बदल दिया है। (एसजीएमएल डीटीडी के संस्करण 4 से शुरू होकर, एक्सएमएल डीटीडी इस संस्करण क्रमांकन योजना के साथ जारी रहा।) प्रारंभ में, सॉफ्टवेयर कंपनियों के एक प्रमुख समूह ने डॉकबुक का उपयोग किया क्योंकि उनके प्रतिनिधि इसके प्रारंभिक डिजाइन में शामिल थे। आखिरकार, हालांकि, डॉकबुक को ओपन सोर्स समुदाय द्वारा अपनाया गया था, जहां यह फ्रीबीएसडी, [[ कहाँ ]], [[सूक्ति]] डेस्कटॉप प्रलेखन, [[जीटीके+]] + [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] संदर्भ, [[लिनक्स कर्नेल]] प्रलेखन (जो, के रूप में) सहित कई परियोजनाओं के लिए प्रलेखन बनाने के लिए एक मानक बन गया है। जुलाई 2016, [[स्फिंक्स (प्रलेखन जनरेटर)]]/पुनर्निर्मित पाठ में परिवर्तित हो रहा है<ref>{{Cite web|url=https://www.kernel.org/doc/html/v4.8/kernel-documentation.html|title = Linux Kernel Documentation — the Linux Kernel documentation}}</ref><ref>{{Cite web|url=https://lwn.net/Articles/692704/|title = Kernel documentation with Sphinx, part 1: How we got here &#91;LWN.net&#93;}}</ref>), और Linux प्रलेखन परियोजना का कार्य।
डॉकबुक मूल रूप से एक एसजीएमएल एप्लिकेशन के रूप में शुरू हुआ था, लेकिन एक समकक्ष एक्सएमएल एप्लिकेशन विकसित किया गया था और अब अधिकांश उपयोगों के लिए एसजीएमएल को बदल दिया है। (एसजीएमएल डीटीडी के संस्करण 4 से शुरू होकर, एक्सएमएल डीटीडी इस संस्करण क्रमांकन योजना के साथ जारी रहा।) प्रारंभ में, सॉफ्टवेयर कंपनियों के एक प्रमुख समूह ने डॉकबुक का उपयोग किया क्योंकि उनके प्रतिनिधि इसके प्रारंभिक डिजाइन में शामिल थे। आखिरकार, हालांकि, डॉकबुक को ओपन सोर्स समुदाय द्वारा अपनाया गया था, जहां यह फ्रीबीएसडी, [[ कहाँ ]], [[सूक्ति]] डेस्कटॉप प्रलेखन, [[जीटीके+]] + [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]] संदर्भ, [[लिनक्स कर्नेल]] प्रलेखन (जो, के रूप में) सहित कई परियोजनाओं के लिए प्रलेखन बनाने के लिए एक मानक बन गया है। जुलाई 2016, [[स्फिंक्स (प्रलेखन जनरेटर)]]/पुनर्निर्मित पाठ में परिवर्तित हो रहा है<ref>{{Cite web|url=https://www.kernel.org/doc/html/v4.8/kernel-documentation.html|title = Linux Kernel Documentation — the Linux Kernel documentation}}</ref><ref>{{Cite web|url=https://lwn.net/Articles/692704/|title = Kernel documentation with Sphinx, part 1: How we got here &#91;LWN.net&#93;}}</ref>), और Linux प्रलेखन परियोजना का कार्य।
Line 89: Line 89:
=== प्री डॉकबुक v5.0 ===
=== प्री डॉकबुक v5.0 ===


DocBook 5 तक, DocBook को दस्तावेज़ प्रकार परिभाषा (DTD) द्वारा मानक रूप से परिभाषित किया गया था। क्योंकि डॉकबुक मूल रूप से एसजीएमएल के एक अनुप्रयोग के रूप में बनाया गया था, डीटीडी ही एकमात्र उपलब्ध स्कीमा भाषा थी। DocBook 4.x प्रारूप SGML या XML हो सकते हैं, लेकिन XML संस्करण का अपना नामस्थान नहीं है।
DocBook 5 तक, DocBook को डॉक्युमेंट प्रकार परिभाषा (DTD) द्वारा मानक रूप से परिभाषित किया गया था। क्योंकि डॉकबुक मूल रूप से एसजीएमएल के एक अनुप्रयोग के रूप में बनाया गया था, डीटीडी ही एकमात्र उपलब्ध स्कीमा भाषा थी। DocBook 4.x प्रारूप SGML या XML हो सकते हैं, लेकिन XML संस्करण का अपना नामस्थान नहीं है।


DocBook 4.x स्वरूपों को DTD द्वारा परिभाषित किए जाने के प्रतिबंधों के भीतर रहना था। सबसे महत्वपूर्ण प्रतिबंध यह था कि एक तत्व का नाम विशिष्ट रूप से इसकी संभावित सामग्री को परिभाषित करता है। अर्थात् नाम का तत्त्व है <code>info</code> डॉकबुक फ़ाइल में कहीं भी जानकारी हो, वही जानकारी होनी चाहिए। इस प्रकार, DocBook 4.x में कई प्रकार के सूचना तत्व हैं: <code>bookinfo</code>, <code>chapterinfo</code>, आदि। प्रत्येक का थोड़ा भिन्न सामग्री मॉडल है, लेकिन वे अपने कुछ सामग्री मॉडल साझा करते हैं। इसके अतिरिक्त, वे संदर्भ जानकारी दोहराते हैं। किताबें <code>info</code> तत्व वह है, क्योंकि यह पुस्तक का प्रत्यक्ष बच्चा है; इसे विशेष रूप से मानव पाठक के लिए नामित करने की आवश्यकता नहीं है। हालांकि, क्योंकि प्रारूप को डीटीडी द्वारा परिभाषित किया गया था, इसे इस तरह नामित किया जाना था। मूल तत्व के पास संस्करण नहीं है या इसकी आवश्यकता नहीं है, क्योंकि संस्करण पूर्व-डॉकबुक 5 दस्तावेज़ के शीर्ष पर डीटीडी घोषणा में बनाया गया है।
DocBook 4.x स्वरूपों को DTD द्वारा परिभाषित किए जाने के प्रतिबंधों के भीतर रहना था। सबसे महत्वपूर्ण प्रतिबंध यह था कि एक तत्व का नाम विशिष्ट रूप से इसकी संभावित सामग्री को परिभाषित करता है। अर्थात् नाम का तत्त्व है <code>info</code> डॉकबुक फ़ाइल में कहीं भी जानकारी हो, वही जानकारी होनी चाहिए। इस प्रकार, DocBook 4.x में कई प्रकार के सूचना तत्व हैं: <code>bookinfo</code>, <code>chapterinfo</code>, आदि। प्रत्येक का थोड़ा भिन्न सामग्री मॉडल है, लेकिन वे अपने कुछ सामग्री मॉडल साझा करते हैं। इसके अतिरिक्त, वे संदर्भ जानकारी दोहराते हैं। किताबें <code>info</code> तत्व वह है, क्योंकि यह पुस्तक का प्रत्यक्ष बच्चा है; इसे विशेष रूप से मानव पाठक के लिए नामित करने की आवश्यकता नहीं है। हालांकि, क्योंकि प्रारूप को डीटीडी द्वारा परिभाषित किया गया था, इसे इस तरह नामित किया जाना था। मूल तत्व के पास संस्करण नहीं है या इसकी आवश्यकता नहीं है, क्योंकि संस्करण पूर्व-डॉकबुक 5 डॉक्युमेंट के शीर्ष पर डीटीडी घोषणा में बनाया गया है।


DocBook 4.x दस्तावेज़ DocBook 5 के साथ संगत नहीं हैं, लेकिन इन्हें XSLT स्टाइलशीट के माध्यम से DocBook 5 दस्तावेज़ों में बदला जा सकता है। एक (<code>db4-upgrade.xsl</code>) DocBook 5 स्कीमा और विनिर्देश पैकेज के वितरण के भाग के रूप में प्रदान किया गया है।<ref>Jirka Kosek, Norman Walsh, Dick Hamilton, and Michael Smith, ''DocBook V5.0: The Transition Guide'', 16 June 2009, [http://docbook.org/docs/howto/#convert4to5 Converting DocBook V4.x documents to DocBook V5.0]</ref>
DocBook 4.x डॉक्युमेंट DocBook 5 के साथ संगत नहीं हैं, लेकिन इन्हें XSLT स्टाइलशीट के माध्यम से DocBook 5 डॉक्युमेंटों में बदला जा सकता है। एक (<code>db4-upgrade.xsl</code>) DocBook 5 स्कीमा और विनिर्देश पैकेज के वितरण के भाग के रूप में प्रदान किया गया है।<ref>Jirka Kosek, Norman Walsh, Dick Hamilton, and Michael Smith, ''DocBook V5.0: The Transition Guide'', 16 June 2009, [http://docbook.org/docs/howto/#convert4to5 Converting DocBook V4.x documents to DocBook V5.0]</ref>




== आउटपुट स्वरूप ==
== आउटपुट स्वरूप ==


DocBook फ़ाइलों का उपयोग विभिन्न प्रकार के स्वरूपों में आउटपुट फ़ाइलों को तैयार करने के लिए किया जाता है। लगभग हमेशा, यह [[DocBook XSL]] स्टाइलशीट का उपयोग करके पूरा किया जाता है। ये XSLT स्टाइलशीट हैं जो DocBook दस्तावेज़ों को कई स्वरूपों (HTML, [[XSL-FO]] को बाद में [[PDF]] में बदलने के लिए, आदि) में रूपांतरित करती हैं। सामग्री, शब्दावलियों और अनुक्रमणिकाओं की तालिकाएँ बनाने के लिए ये स्टाइलशीट पर्याप्त रूप से परिष्कृत हो सकती हैं। वे एक ही दस्तावेज़ के विभिन्न संस्करणों (जैसे एक ट्यूटोरियल या एक त्वरित-संदर्भ मार्गदर्शिका, जहां इनमें से प्रत्येक में सामग्री का एक सबसेट शामिल है) के विभिन्न संस्करणों का निर्माण करने के लिए एक मास्टर दस्तावेज़ के विशेष निर्दिष्ट भागों के चयन की देखरेख कर सकते हैं। उपयोगकर्ता अपनी आवश्यकताओं के अनुसार उपयुक्त आउटपुट स्वरूप में डॉकबुक को संसाधित करने के लिए अपनी स्वयं की अनुकूलित स्टाइलशीट या यहां तक ​​कि एक पूर्ण कार्यक्रम भी लिख सकते हैं।
DocBook फ़ाइलों का उपयोग विभिन्न प्रकार के स्वरूपों में आउटपुट फ़ाइलों को तैयार करने के लिए किया जाता है। लगभग हमेशा, यह [[DocBook XSL]] स्टाइलशीट का उपयोग करके पूरा किया जाता है। ये XSLT स्टाइलशीट हैं जो DocBook डॉक्युमेंटों को कई स्वरूपों (HTML, [[XSL-FO]] को बाद में [[PDF]] में बदलने के लिए, आदि) में रूपांतरित करती हैं। सामग्री, शब्दावलियों और अनुक्रमणिकाओं की तालिकाएँ बनाने के लिए ये स्टाइलशीट पर्याप्त रूप से परिष्कृत हो सकती हैं। वे एक ही डॉक्युमेंट के विभिन्न संस्करणों (जैसे एक ट्यूटोरियल या एक त्वरित-संदर्भ मार्गदर्शिका, जहां इनमें से प्रत्येक में सामग्री का एक सबसेट शामिल है) के विभिन्न संस्करणों का निर्माण करने के लिए एक मास्टर डॉक्युमेंट के विशेष निर्दिष्ट भागों के चयन की देखरेख कर सकते हैं। उपयोगकर्ता अपनी आवश्यकताओं के अनुसार उपयुक्त आउटपुट स्वरूप में डॉकबुक को संसाधित करने के लिए अपनी स्वयं की अनुकूलित स्टाइलशीट या यहां तक ​​कि एक पूर्ण कार्यक्रम भी लिख सकते हैं।


नॉर्मन वॉल्श और डॉकबुक प्रोजेक्ट डेवलपमेंट टीम डॉकबुक स्रोत दस्तावेज़ों से आउटपुट तैयार करने के लिए महत्वपूर्ण एप्लिकेशन को बनाए रखती है: [[एक्सएसएलटी]] स्टाइलशीट्स का एक सेट (साथ ही [[डीएसएसएसएल]] स्टाइलशीट्स का एक विरासत सेट) जो उच्च गुणवत्ता वाले एचटीएमएल और प्रिंट ([[ एक्सएसएल स्वरूपण ऑब्जेक्ट्स ]]/ पोर्टेबल दस्तावेज़ स्वरूप) आउटपुट, साथ ही [[रिच टेक्स्ट फ़ॉर्मैट]], [[मैन पेज]] और HTML सहायता सहित अन्य स्वरूपों में आउटपुट।
नॉर्मन वॉल्श और डॉकबुक प्रोजेक्ट डेवलपमेंट टीम डॉकबुक स्रोत डॉक्युमेंटों से आउटपुट तैयार करने के लिए महत्वपूर्ण एप्लिकेशन को बनाए रखती है: [[एक्सएसएलटी]] स्टाइलशीट्स का एक सेट (साथ ही [[डीएसएसएसएल]] स्टाइलशीट्स का एक विरासत सेट) जो उच्च गुणवत्ता वाले एचटीएमएल और प्रिंट ([[ एक्सएसएल स्वरूपण ऑब्जेक्ट्स ]]/ पोर्टेबल डॉक्युमेंट स्वरूप) आउटपुट, साथ ही [[रिच टेक्स्ट फ़ॉर्मैट]], [[मैन पेज]] और HTML सहायता सहित अन्य स्वरूपों में आउटपुट।


वेब सहायता<ref name=webhelp-1.76.1 />DocBook XSL स्टाइलशीट में खंडित HTML आउटपुट स्वरूप है जिसे 1.76.1 संस्करण में पेश किया गया था। वेब सहायता के लिए दस्तावेज़ीकरण<ref>[http://docbook.sourceforge.net/release/xsl/current/webhelp/docs/index.html Web help documentation]</ref> वेब सहायता का एक उदाहरण भी प्रदान करता है और यह DocBook XSL वितरण का भाग है।
वेब सहायता<ref name=webhelp-1.76.1 />DocBook XSL स्टाइलशीट में खंडित HTML आउटपुट स्वरूप है जिसे 1.76.1 संस्करण में पेश किया गया था। वेब सहायता के लिए डॉक्युमेंटीकरण<ref>[http://docbook.sourceforge.net/release/xsl/current/webhelp/docs/index.html Web help documentation]</ref> वेब सहायता का एक उदाहरण भी प्रदान करता है और यह DocBook XSL वितरण का भाग है।


इसकी प्रमुख विशेषताएँ हैं इसका पूर्ण रूप से CSS-आधारित पृष्ठ लेआउट, सहायता सामग्री की खोज, और संक्षिप्त-वृक्ष रूप में सामग्री की तालिका। खोज में [[उत्पन्न]], मैच हाइलाइटिंग, स्पष्ट पृष्ठ-स्कोरिंग और मानक बहुभाषी [[टोकनकरण (शाब्दिक विश्लेषण)]] है। खोज और टीओसी एक फलक में हैं जो एक [[ फ़्रेमसेट (एचटीएमएल) ]] के रूप में दिखाई देता है, लेकिन वास्तव में इसे [[डिव और स्पैन]] और कुकीज़ के साथ लागू किया जाता है (ताकि यह प्रगतिशील हो)।
इसकी प्रमुख विशेषताएँ हैं इसका पूर्ण रूप से CSS-आधारित पृष्ठ लेआउट, सहायता सामग्री की खोज, और संक्षिप्त-वृक्ष रूप में सामग्री की तालिका। खोज में [[उत्पन्न]], मैच हाइलाइटिंग, स्पष्ट पृष्ठ-स्कोरिंग और मानक बहुभाषी [[टोकनकरण (शाब्दिक विश्लेषण)]] है। खोज और टीओसी एक फलक में हैं जो एक [[ फ़्रेमसेट (एचटीएमएल) ]] के रूप में दिखाई देता है, लेकिन वास्तव में इसे [[डिव और स्पैन]] और कुकीज़ के साथ लागू किया जाता है (ताकि यह प्रगतिशील हो)।
Line 108: Line 108:
== सरलीकृत डॉकबुक ==
== सरलीकृत डॉकबुक ==


डॉकबुक बड़ी संख्या में सुविधाएँ प्रदान करता है जो एक नए उपयोगकर्ता के लिए भारी हो सकती हैं। उन लोगों के लिए जो तेज सीखने की अवस्था के बिना डॉकबुक की सुविधा चाहते हैं, सरलीकृत डॉकबुक को डिजाइन किया गया था। यह डॉकबुक का एक छोटा सा उपसमुच्चय है जिसे लेख या श्वेत पत्र जैसे एकल दस्तावेज़ों के लिए डिज़ाइन किया गया है (अर्थात, पुस्तकें समर्थित नहीं हैं)। सरलीकृत डॉकबुक डीटीडी वर्तमान में 1.1 संस्करण पर है।<ref>[http://www.docbook.org/schemas/sdocbook/ Simplified DocBook]</ref>
डॉकबुक बड़ी संख्या में सुविधाएँ प्रदान करता है जो एक नए उपयोगकर्ता के लिए भारी हो सकती हैं। उन लोगों के लिए जो तेज सीखने की अवस्था के बिना डॉकबुक की सुविधा चाहते हैं, सरलीकृत डॉकबुक को डिजाइन किया गया था। यह डॉकबुक का एक छोटा सा उपसमुच्चय है जिसे लेख या श्वेत पत्र जैसे एकल डॉक्युमेंटों के लिए डिज़ाइन किया गया है (अर्थात, पुस्तकें समर्थित नहीं हैं)। सरलीकृत डॉकबुक डीटीडी वर्तमान में 1.1 संस्करण पर है।<ref>[http://www.docbook.org/schemas/sdocbook/ Simplified DocBook]</ref>




Line 117: Line 117:
== यह भी देखें ==
== यह भी देखें ==


* [[दस्तावेज़ मार्कअप भाषाओं की सूची]]
* [[दस्तावेज़ मार्कअप भाषाओं की सूची|डॉक्युमेंट मार्कअप भाषाओं की सूची]]
* [[दस्तावेज़ मार्कअप भाषाओं की तुलना]]
* [[दस्तावेज़ मार्कअप भाषाओं की तुलना|डॉक्युमेंट मार्कअप भाषाओं की तुलना]]
* डॉकबुक एक्सएसएल
* डॉकबुक एक्सएसएल
*[[डार्विन सूचना टंकण वास्तुकला]]
*[[डार्विन सूचना टंकण वास्तुकला]]

Revision as of 15:38, 28 June 2023

DocBook
Filename extension
.dbk, .xml
Internet media type
application/docbook+xml
Developed byOASIS
Type of formatmarkup language
Extended fromSGML, XML
Standard5.1 (November 2016),
4.5 (October 2006)
Open format?Yes

डॉकबुक तकनीकी दस्तावेज के लिए एक सिमेंटिक मार्कअप भाषा है। यह मूल रूप से कंप्यूटर हार्डवेयर और सॉफ्टवेयर से संबंधित तकनीकी दस्तावेज लिखने के लिए था, लेकिन इसका उपयोग किसी अन्य प्रकार के प्रलेखन के लिए किया जा सकता है।[1]

एक सिमेंटिक भाषा के रूप में, डॉकबुक अपने उपयोगकर्ताओं को एक प्रस्तुति-तटस्थ रूप में डॉक्युमेंट सामग्री बनाने में सक्षम बनाता है जो सामग्री की तार्किक संरचना को कैप्चर करता है; उस सामग्री को तब एचटीएमएल, एक्सएचटीएमएल, ईपीयूबी, पीडीएफ, मैन पेज, वेबहेल्प और एचटीएमएल हेल्प सहित विभिन्न स्वरूपों में प्रकाशित किया जा सकता है।[2] उपयोगकर्ताओं को स्रोत में कोई भी बदलाव करने की अनुमति देने की आवश्यकता के बिना है। दूसरे शब्दों में, जब डॉकबुक प्रारूप में एक दस्तावेज लिखा जाता है, तो इसे फिर से लिखने की आवश्यकता के परिणामस्वरूप अन्य प्रारूपों में प्रभावी रूप से सक्षम हो जाता है।

डिजाइन

डॉकबुक एक एक्सएमएल भाषा है। इसके वर्तमान संस्करण (5.x) में, डॉकबुक की भाषा को औपचारिक रूप से रिलैक्स एनजी स्कीमा द्वारा एकीकृत स्कीमट्रॉन नियमों के साथ परिभाषित किया गया है। (स्कीमा के डब्ल्यू3सी एक्सएमएल स्कीमा + स्कीमट्रॉन और डॉक्युमेंट प्रकार परिभाषा (डीटीडी) संस्करण भी उपलब्ध हैं, लेकिन इन्हें गैर-मानक माना जाता है।)

शब्दार्थ (सिमेंटिक) भाषा के रूप में, डॉकबुक दस्तावेज यह नहीं बताता कि उनकी सामग्री कैसी दिखती है, बल्कि उन सामग्रियों का क्या अर्थ है। उदाहरण के लिए, यह समझाने के बजाय कि किसी लेख के लिए सार को दृश्य रूप से कैसे प्रारूपित किया जाए, डॉकबुक केवल यह बताता है कि एक विशेष अनुभाग एक संक्षिप्त शब्द है। किसी पृष्ठ पर सार कहाँ जाना चाहिए और यह कैसा दिखना चाहिए या इसे अंतिम आउटपुट में शामिल किया जाना चाहिए या नहीं, यह तय करना बाहरी प्रसंस्करण उपकरण या एप्लिकेशन पर निर्भर है।

डॉकबुक बड़ी संख्या में सिमेंटिक तत्व टैग प्रदान करता है। इन्हें संरचनात्मक, ब्लॉक-स्तरीय और इनलाइन नामक तीन व्यापक श्रेणियों में विभाजित किया गया है।

संरचनात्मक टैग उनकी सामग्री की विस्तृत विशेषताओं को निर्दिष्ट करते हैं। उदाहरण के लिए, book तत्व निर्दिष्ट करता है कि उसके बाल तत्व किसी पुस्तक के हिस्सों का प्रतिनिधित्व करते हैं। इसमें शीर्षक, अध्याय, शब्दावली, परिशिष्ट इत्यादि शामिल हैं। डॉकबुक के संरचनात्मक टैग में ये शामिल हैं, लेकिन ये इन्हीं तक सीमित नहीं हैं:

  • set: एक या एक से अधिक book sया article s, का शीर्षक संग्रह, अन्य सेटों के साथ जोड़ा जा सकता है।
  • book: का शीर्षक संग्रह chapter s, article s, और/या part s, वैकल्पिक शब्दावलियों, परिशिष्टों आदि के साथ है।
  • part: एक या अधिक का शीर्षक संग्रह chapters—अन्य भागों के साथ नेस्ट किया जा सकता है, और इसमें विशेष प्रारंभिक पाठ हो सकता है।
  • article: ब्लॉक-स्तरीय तत्वों का शीर्षक रहित, क्रमांकित संग्रह है।
  • chapter: शीर्षक, ब्लॉक-स्तरीय तत्वों का क्रमांकित संग्रह - अध्यायों को स्पष्ट संख्याओं की आवश्यकता नहीं होती है, एक अध्याय संख्या एक्सएमएल डॉक्युमेंट में पिछले अध्याय के तत्वों की संख्या और 1 है।
  • appendix: इसमें वह पाठ है जो एक परिशिष्ट का प्रतिनिधित्व करता है।
  • dedication: पाठ निहित संरचनात्मक तत्व के समर्पण को दर्शाता है।

संरचनात्मक तत्वों में अन्य संरचनात्मक तत्व हो सकते हैं। डॉकबुक डॉक्युमेंट में संरचनात्मक तत्व एकमात्र अनुमत शीर्ष-स्तरीय तत्व हैं।

ब्लॉक-लेवल टैग पैराग्राफ, सूचियां आदि जैसे तत्व हैं। इन सभी तत्वों में सीधे तौर पर टेक्स्ट नहीं हो सकता है। अनुक्रमिक ब्लॉक-स्तरीय तत्व एक को "एक के बाद एक" प्रस्तुत करते हैं। इस मामले में, बाद में, भाषा के आधार पर भिन्न हो सकते हैं। अधिकांश पश्चिमी भाषाओं में, "बाद" का अर्थ निम्न है: पाठ पैराग्राफ पृष्ठ के नीचे मुद्रित होते हैं। अन्य भाषाओं की लेखन प्रणालियों की दिशा अलग-अलग हो सकती है; उदाहरण के लिए, जापानी में, पैराग्राफ अक्सर नीचे की ओर वाले कॉलम में मुद्रित होते हैं, जिसमें कॉलम दाएं से बाएं ओर चलते हैं, इसलिए उस स्थिति में "बाद" बाईं ओर होगा। डॉकबुक शब्दार्थ इस प्रकार की भाषा-आधारित अवधारणाओं से पूरी तरह तटस्थ है।

इनलाइन-स्तरीय टैग जोर, हाइपरलिंक इत्यादि जैसे तत्व हैं। वे ब्लॉक-स्तरीय तत्व के भीतर टेक्स्ट को लपेटते हैं। पैराग्राफ प्रारूप में प्रस्तुत किए जाने पर ये तत्व पाठ को तोड़ने का कारण नहीं बनते हैं, लेकिन आम तौर पर वे डॉक्युमेंट प्रोसेसर को फ़ॉन्ट, आकार या समान विशेषताओं को बदलकर संलग्न पाठ में कुछ प्रकार के विशिष्ट टाइपोग्राफ़िकल उपचार लागू करने का कारण बनते हैं। (डॉकबुक विनिर्देश यह कहता है कि यह अलग टाइपोग्राफ़िकल उपचार की अपेक्षा करता है, लेकिन यह विशिष्ट आवश्यकताओं की पेशकश नहीं करता है कि यह उपचार क्या हो सकता है।) यानी, डॉकबुक प्रोसेसर को एक emphasis टैग को इटैलिक में बदलने की ज़रूरत नहीं है। रीडर-आधारित डॉकबुक प्रोसेसर शब्दों के आकार को बढ़ा सकता है, या, टेक्स्ट-आधारित प्रोसेसर इटैलिक के बजाय बोल्ड का उपयोग कर सकता है।

प्रतिरूप डॉक्युमेंट

 <?xml version="1.0" encoding="UTF-8"?>
 <book xml:id="simple_book" xmlns="http://docbook.org/ns/docbook" version="5.0">
   <title>Very simple book</title>
   <chapter xml:id="chapter_1">
     <title>Chapter 1</title>
     <para>Hello world!</para>
     <para>I hope that your day is proceeding <emphasis>splendidly</emphasis>!</para>
   </chapter>
   <chapter xml:id="chapter_2">
     <title>Chapter 2</title>
     <para>Hello again, world!</para>
   </chapter>
 </book>

शब्दार्थ की दृष्टि से, यह डॉक्युमेंट एक शीर्षक के साथ एक पुस्तक है, जिसमें दो अध्याय हैं जिनमें से प्रत्येक के अपने-अपने शीर्षक हैं। उन अध्यायों में वे अनुच्छेद हैं जिनमें पाठ है। मार्कअप अंग्रेजी में काफी पठनीय है।

अधिक विस्तार से, डॉक्युमेंट का मूल तत्व है book. सभी डॉकबुक तत्व एक एक्सएमएल नेमस्पेस में हैं, इसलिए रूट तत्व में मौजूदा नेमस्पेस सेट करने के लिए एक एक्सएमएलएनएस विशेषता है। साथ ही, डॉकबुक डॉक्युमेंट के मूल तत्व का एक ऐसा संस्करण होना चाहिए जो उस प्रारूप के संस्करण को निर्दिष्ट करता है जिस पर डॉक्युमेंट बनाया गया है।

(XML डॉक्युमेंटों में एकाधिक नामस्थानों के तत्व एक साथ शामिल हो सकते हैं, जैसे id उदाहरण में गुण।)

book तत्व में ए होना चाहिए title, या एक info ए युक्त तत्व title. यह किसी भी बाल संरचनात्मक तत्वों से पहले होना चाहिए। शीर्षक के बाद संरचनात्मक बच्चे हैं, इस मामले में दो chapter तत्व। इनमें से प्रत्येक के पास एक होना चाहिए title. वे होते हैं para ब्लॉक तत्व, जिसमें मुक्त पाठ और अन्य इनलाइन तत्व शामिल हो सकते हैं emphasis पहले अध्याय के दूसरे पैराग्राफ में।

स्कीमा और सत्यापन

DocBook XML स्कीमा में नियमों को औपचारिक रूप से परिभाषित किया गया है। उपयुक्त प्रोग्रामिंग उपकरण किसी XML डॉक्युमेंट (DocBook या अन्यथा) को उसके संबंधित स्कीमा के विरुद्ध सत्यापित कर सकते हैं, यह निर्धारित करने के लिए कि क्या (और कहाँ) डॉक्युमेंट उस स्कीमा के अनुरूप विफल रहता है। XML संपादन उपकरण पहले स्थान पर गैर-अनुरूप डॉक्युमेंट बनाने से बचने के लिए स्कीमा जानकारी का भी उपयोग कर सकते हैं।

संलेखन और प्रसंस्करण

क्योंकि DocBook XML है, डॉक्युमेंटों को किसी भी पाठ संपादक के साथ बनाया और संपादित किया जा सकता है। एक समर्पित XML संपादक वैसे ही एक कार्यात्मक DocBook संपादक है। डॉकबुक लोकप्रिय एक्सएमएल स्कीमा भाषाओं के लिए एक्सएमएल स्कीमा प्रदान करता है, इसलिए कोई भी एक्सएमएल संपादक जो स्कीमा के आधार पर सामग्री पूर्णता प्रदान कर सकता है, वह डॉकबुक के लिए ऐसा कर सकता है। कई XML संपादक#ग्राफ़िकल संपादक या WYSIWYG XML संपादक#WYSIWYG संपादक डॉकबुक को शब्द संसाधक की तरह संपादित करने की क्षमता के साथ आते हैं। [3] तालिकाएँ, सूची आइटम, और अन्य शैलीबद्ध सामग्री को DocBook संपादक में कॉपी और पेस्ट किया जा सकता है और DocBook XML आउटपुट में संरक्षित किया जाएगा। [3]क्योंकि डॉकबुक एक अच्छी तरह से परिभाषित एक्सएमएल स्कीमा के अनुरूप है, डॉक्युमेंटों को किसी भी उपकरण या प्रोग्रामिंग भाषा का उपयोग करके सत्यापित और संसाधित किया जा सकता है जिसमें एक्सएमएल समर्थन शामिल है।

इतिहास

DocBook 1991 में यूज़नेट पर चर्चा समूहों में शुरू हुआ और अंततः एचएएल कंप्यूटर सिस्टम्स और O'Reilly Media|O'Reilly & Associates की एक संयुक्त परियोजना बन गई और अंततः 1998 में SGML ओपन में जाने से पहले अपने स्वयं के रखरखाव संगठन (डेवेनपोर्ट समूह) को जन्म दिया। कंसोर्टियम, जो बाद में OASIS (संगठन) बन गया। DocBook वर्तमान में OASIS में DocBook तकनीकी समिति द्वारा अनुरक्षित है।[4] डॉक्युमेंट प्रकार परिभाषा के रूप में, डॉकबुक एसजीएमएल और एक्सएमएल दोनों रूपों में उपलब्ध है। XML संस्करण के RELAX NG और W3C XML स्कीमा फॉर्म उपलब्ध हैं। डॉकबुक 5 से शुरू होकर, रिलैक्स एनजी संस्करण मानक रूप है जिससे अन्य प्रारूप उत्पन्न होते हैं।

डॉकबुक मूल रूप से एक एसजीएमएल एप्लिकेशन के रूप में शुरू हुआ था, लेकिन एक समकक्ष एक्सएमएल एप्लिकेशन विकसित किया गया था और अब अधिकांश उपयोगों के लिए एसजीएमएल को बदल दिया है। (एसजीएमएल डीटीडी के संस्करण 4 से शुरू होकर, एक्सएमएल डीटीडी इस संस्करण क्रमांकन योजना के साथ जारी रहा।) प्रारंभ में, सॉफ्टवेयर कंपनियों के एक प्रमुख समूह ने डॉकबुक का उपयोग किया क्योंकि उनके प्रतिनिधि इसके प्रारंभिक डिजाइन में शामिल थे। आखिरकार, हालांकि, डॉकबुक को ओपन सोर्स समुदाय द्वारा अपनाया गया था, जहां यह फ्रीबीएसडी, कहाँ , सूक्ति डेस्कटॉप प्रलेखन, जीटीके+ + अप्लिकेशन प्रोग्रामिंग अंतरफलक संदर्भ, लिनक्स कर्नेल प्रलेखन (जो, के रूप में) सहित कई परियोजनाओं के लिए प्रलेखन बनाने के लिए एक मानक बन गया है। जुलाई 2016, स्फिंक्स (प्रलेखन जनरेटर)/पुनर्निर्मित पाठ में परिवर्तित हो रहा है[5][6]), और Linux प्रलेखन परियोजना का कार्य।

प्री डॉकबुक v5.0

DocBook 5 तक, DocBook को डॉक्युमेंट प्रकार परिभाषा (DTD) द्वारा मानक रूप से परिभाषित किया गया था। क्योंकि डॉकबुक मूल रूप से एसजीएमएल के एक अनुप्रयोग के रूप में बनाया गया था, डीटीडी ही एकमात्र उपलब्ध स्कीमा भाषा थी। DocBook 4.x प्रारूप SGML या XML हो सकते हैं, लेकिन XML संस्करण का अपना नामस्थान नहीं है।

DocBook 4.x स्वरूपों को DTD द्वारा परिभाषित किए जाने के प्रतिबंधों के भीतर रहना था। सबसे महत्वपूर्ण प्रतिबंध यह था कि एक तत्व का नाम विशिष्ट रूप से इसकी संभावित सामग्री को परिभाषित करता है। अर्थात् नाम का तत्त्व है info डॉकबुक फ़ाइल में कहीं भी जानकारी हो, वही जानकारी होनी चाहिए। इस प्रकार, DocBook 4.x में कई प्रकार के सूचना तत्व हैं: bookinfo, chapterinfo, आदि। प्रत्येक का थोड़ा भिन्न सामग्री मॉडल है, लेकिन वे अपने कुछ सामग्री मॉडल साझा करते हैं। इसके अतिरिक्त, वे संदर्भ जानकारी दोहराते हैं। किताबें info तत्व वह है, क्योंकि यह पुस्तक का प्रत्यक्ष बच्चा है; इसे विशेष रूप से मानव पाठक के लिए नामित करने की आवश्यकता नहीं है। हालांकि, क्योंकि प्रारूप को डीटीडी द्वारा परिभाषित किया गया था, इसे इस तरह नामित किया जाना था। मूल तत्व के पास संस्करण नहीं है या इसकी आवश्यकता नहीं है, क्योंकि संस्करण पूर्व-डॉकबुक 5 डॉक्युमेंट के शीर्ष पर डीटीडी घोषणा में बनाया गया है।

DocBook 4.x डॉक्युमेंट DocBook 5 के साथ संगत नहीं हैं, लेकिन इन्हें XSLT स्टाइलशीट के माध्यम से DocBook 5 डॉक्युमेंटों में बदला जा सकता है। एक (db4-upgrade.xsl) DocBook 5 स्कीमा और विनिर्देश पैकेज के वितरण के भाग के रूप में प्रदान किया गया है।[7]


आउटपुट स्वरूप

DocBook फ़ाइलों का उपयोग विभिन्न प्रकार के स्वरूपों में आउटपुट फ़ाइलों को तैयार करने के लिए किया जाता है। लगभग हमेशा, यह DocBook XSL स्टाइलशीट का उपयोग करके पूरा किया जाता है। ये XSLT स्टाइलशीट हैं जो DocBook डॉक्युमेंटों को कई स्वरूपों (HTML, XSL-FO को बाद में PDF में बदलने के लिए, आदि) में रूपांतरित करती हैं। सामग्री, शब्दावलियों और अनुक्रमणिकाओं की तालिकाएँ बनाने के लिए ये स्टाइलशीट पर्याप्त रूप से परिष्कृत हो सकती हैं। वे एक ही डॉक्युमेंट के विभिन्न संस्करणों (जैसे एक ट्यूटोरियल या एक त्वरित-संदर्भ मार्गदर्शिका, जहां इनमें से प्रत्येक में सामग्री का एक सबसेट शामिल है) के विभिन्न संस्करणों का निर्माण करने के लिए एक मास्टर डॉक्युमेंट के विशेष निर्दिष्ट भागों के चयन की देखरेख कर सकते हैं। उपयोगकर्ता अपनी आवश्यकताओं के अनुसार उपयुक्त आउटपुट स्वरूप में डॉकबुक को संसाधित करने के लिए अपनी स्वयं की अनुकूलित स्टाइलशीट या यहां तक ​​कि एक पूर्ण कार्यक्रम भी लिख सकते हैं।

नॉर्मन वॉल्श और डॉकबुक प्रोजेक्ट डेवलपमेंट टीम डॉकबुक स्रोत डॉक्युमेंटों से आउटपुट तैयार करने के लिए महत्वपूर्ण एप्लिकेशन को बनाए रखती है: एक्सएसएलटी स्टाइलशीट्स का एक सेट (साथ ही डीएसएसएसएल स्टाइलशीट्स का एक विरासत सेट) जो उच्च गुणवत्ता वाले एचटीएमएल और प्रिंट (एक्सएसएल स्वरूपण ऑब्जेक्ट्स / पोर्टेबल डॉक्युमेंट स्वरूप) आउटपुट, साथ ही रिच टेक्स्ट फ़ॉर्मैट, मैन पेज और HTML सहायता सहित अन्य स्वरूपों में आउटपुट।

वेब सहायता[2]DocBook XSL स्टाइलशीट में खंडित HTML आउटपुट स्वरूप है जिसे 1.76.1 संस्करण में पेश किया गया था। वेब सहायता के लिए डॉक्युमेंटीकरण[8] वेब सहायता का एक उदाहरण भी प्रदान करता है और यह DocBook XSL वितरण का भाग है।

इसकी प्रमुख विशेषताएँ हैं इसका पूर्ण रूप से CSS-आधारित पृष्ठ लेआउट, सहायता सामग्री की खोज, और संक्षिप्त-वृक्ष रूप में सामग्री की तालिका। खोज में उत्पन्न, मैच हाइलाइटिंग, स्पष्ट पृष्ठ-स्कोरिंग और मानक बहुभाषी टोकनकरण (शाब्दिक विश्लेषण) है। खोज और टीओसी एक फलक में हैं जो एक फ़्रेमसेट (एचटीएमएल) के रूप में दिखाई देता है, लेकिन वास्तव में इसे डिव और स्पैन और कुकीज़ के साथ लागू किया जाता है (ताकि यह प्रगतिशील हो)।

सरलीकृत डॉकबुक

डॉकबुक बड़ी संख्या में सुविधाएँ प्रदान करता है जो एक नए उपयोगकर्ता के लिए भारी हो सकती हैं। उन लोगों के लिए जो तेज सीखने की अवस्था के बिना डॉकबुक की सुविधा चाहते हैं, सरलीकृत डॉकबुक को डिजाइन किया गया था। यह डॉकबुक का एक छोटा सा उपसमुच्चय है जिसे लेख या श्वेत पत्र जैसे एकल डॉक्युमेंटों के लिए डिज़ाइन किया गया है (अर्थात, पुस्तकें समर्थित नहीं हैं)। सरलीकृत डॉकबुक डीटीडी वर्तमान में 1.1 संस्करण पर है।[9]


आलोचना

ओपनबीएसडी के मैनडॉक के लेखक इंगो श्वार्ज, डॉकबुक को मैन पेजों के सिमेंटिक एमडीओसी मैक्रो से कमतर मानते हैं। DocBook-to-mdoc कन्वर्टर लिखने के प्रयास में (पिछले कन्वर्टर्स जैसे docbook-to-man सिमेंटिक तत्वों को कवर नहीं करता है), वह एक ही समय में mdoc में शामिल तत्वों की तुलना में सिमेंटिक भागों को फूला हुआ, निरर्थक और अधूरा पाता है। इसके अलावा, श्वार्ज़ ने डॉकबुक विनिर्देश को टैग के उपयोग के बारे में पर्याप्त रूप से विशिष्ट नहीं पाया, भाषा संस्करणों में गैर-पोर्टेबल, विवरणों में खुरदरी और समग्र रूप से असंगत है।[10]


यह भी देखें

संदर्भ

  1. What is DocBook?
  2. 2.0 2.1 DocBook WebHelp Project
  3. 3.0 3.1 "डॉकबुक संपादन". www.oxygenxml.com. Retrieved 2022-11-02.
  4. Getting Started with DocBook
  5. "Linux Kernel Documentation — the Linux Kernel documentation".
  6. "Kernel documentation with Sphinx, part 1: How we got here [LWN.net]".
  7. Jirka Kosek, Norman Walsh, Dick Hamilton, and Michael Smith, DocBook V5.0: The Transition Guide, 16 June 2009, Converting DocBook V4.x documents to DocBook V5.0
  8. Web help documentation
  9. Simplified DocBook
  10. Schwarze, Igor (April 19, 2019). "docbook2mdoc-1.0.0 released". OpenBSD Journal.


अग्रिम पठन

Norman Walsh is the principal author of the book DocBook: The Definitive Guide, the official documentation of DocBook. This book is available online under the GFDL, and also as a print publication.


बाहरी संबंध