डॉकबुक: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 19: Line 19:
}}
}}


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


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


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


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


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


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


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


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


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


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


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


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


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


क्योंकि डॉकबुक एक्सएमएल है, इसलिए दस्तावेजों को किसी भी पाठ संपादक के साथ बनाया और संपादित किया जा सकता है। समर्पित एक्सएमएल संपादक इसी तरह कार्यात्मक डॉकबुक संपादक है। डॉकबुक लोकप्रिय एक्सएमएल स्कीमा भाषाओं के लिए स्कीमा फाइलें प्रदान करता है, इसलिए कोई भी [[एक्सएमएल संपादक]] जो स्कीमा के आधार पर सामग्री को पूरा कर सकता है, डॉकबुक के लिए ऐसा कर सकता है। कई ग्राफिकल या डब्ल्यूवाईएसआईडब्ल्यूवाईजी एक्सएमएल संपादक वर्ड प्रोसेसर की तरह डॉकबुक को संपादित करने की क्षमता के साथ मिलते हैं।<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>  
क्योंकि डॉकबुक एक्सएमएल है, इसलिए डॉक्यूमेंटों को किसी भी टेक्स्ट संपादक के साथ बनाया और संपादित किया जा सकता है। समर्पित एक्सएमएल संपादक इसी तरह कार्यात्मक डॉकबुक संपादक है। डॉकबुक लोकप्रिय एक्सएमएल स्कीमा भाषाओं के लिए स्कीमा फाइलें प्रदान करता है, इसलिए कोई भी [[एक्सएमएल संपादक]] जो स्कीमा के आधार पर सामग्री को पूरा कर सकता है, डॉकबुक के लिए ऐसा कर सकता है। कई ग्राफिकल या डब्ल्यूवाईएसआईडब्ल्यूवाईजी एक्सएमएल संपादक वर्ड प्रोसेसर की तरह डॉकबुक को संपादित करने की क्षमता के साथ मिलते हैं।<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>  


टेबल्स, लिस्ट आइटम और अन्य स्टाइल की गई सामग्री को डॉकबुक एडिटर में कॉपी और पेस्ट किया जा सकता है और इसे डॉकबुक एक्सएमएल आउटपुट में संरक्षित किया जाएगा।<ref name=":0" /> क्योंकि डॉकबुक एक अच्छी तरह से परिभाषित एक्सएमएल स्कीमा के अनुरूप है, दस्तावेजों को किसी भी उपकरण या प्रोग्रामिंग भाषा का उपयोग करके मान्य और संसाधित किया जा सकता है जिसमें एक्सएमएल समर्थन सम्मिलित है।
टेबल्स, लिस्ट आइटम और अन्य स्टाइल की गई सामग्री को डॉकबुक एडिटर में कॉपी और पेस्ट किया जा सकता है और इसे डॉकबुक एक्सएमएल आउटपुट में संरक्षित किया जाएगा।<ref name=":0" /> क्योंकि डॉकबुक एक अच्छी तरह से परिभाषित एक्सएमएल स्कीमा के अनुरूप है, डॉक्यूमेंटों को किसी भी उपकरण या प्रोग्रामिंग भाषा का उपयोग करके मान्य और संसाधित किया जा सकता है जिसमें एक्सएमएल समर्थन सम्मिलित है।


== इतिहास ==
== इतिहास ==
Line 88: Line 88:
डॉकबुक डीटीडी के रूप में [[एसजीएमएल]] और एक्सएमएल दोनों रूपों में उपलब्ध है। रिलैक्स एनजी और डब्ल्यू3सी एक्सएमएल के एक्सएमएल संस्करण और डब्ल्यू3सी एक्सएमएल स्कीमा प्रपत्र उपलब्ध हैं। डॉकबुक 5 से प्रारंभ करते हुए, रिलैक्स एनजी संस्करण "मानक" रूप है जिससे अन्य प्रारूप तैयार होते हैं।
डॉकबुक डीटीडी के रूप में [[एसजीएमएल]] और एक्सएमएल दोनों रूपों में उपलब्ध है। रिलैक्स एनजी और डब्ल्यू3सी एक्सएमएल के एक्सएमएल संस्करण और डब्ल्यू3सी एक्सएमएल स्कीमा प्रपत्र उपलब्ध हैं। डॉकबुक 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> में परिवर्तित हो रहा है, और लिनक्स डॉक्यूमेंटेशन प्रोजेक्ट का काम कर रहा है।
डॉकबुक मूल रूप से एक एसजीएमएल एप्लिकेशन के रूप में प्रारम्भ हुआ था, लेकिन एक समकक्ष एक्सएमएल एप्लिकेशन विकसित किया गया था और अब अधिकांश उपयोगों के लिए एसजीएमएल को बदल दिया गया है। (एसजीएमएल डीटीडी के संस्करण 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> में परिवर्तित हो रहा है, और लिनक्स डॉक्यूमेंटेशन प्रोजेक्ट का काम कर रहा है।


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


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


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


डॉकबुक 4.x दस्तावेज़ डॉकबुक 5 के साथ संगत नहीं हैं, लेकिन एक्सएसएलटी स्टाइलशीट के माध्यम से डॉकबुक 5 दस्तावेजों में परिवर्तित किया जा सकता है। ( <code>db4-upgrade.xsl</code>) डॉकबुक 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>
डॉकबुक 4.x डॉक्यूमेंट़ डॉकबुक 5 के साथ संगत नहीं हैं, लेकिन एक्सएसएलटी स्टाइलशीट के माध्यम से डॉकबुक 5 डॉक्यूमेंटों में परिवर्तित किया जा सकता है। ( <code>db4-upgrade.xsl</code>) डॉकबुक 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 XSL|डॉकबुक]] एक्सएसएल स्टाइलशीट का उपयोग करके पूरा किया जाता है। ये एक्सएसएलटी स्टाइलशीट हैं जो डॉकबुक दस्तावेजों को कई प्रारूपों में परिवर्तित करती हैं (एचटीएमएल, बाद में पीडीएफ में रूपांतरण के लिए एक्सएसएल-एफओ, आदि)। ये स्टाइलशीट सामग्री, शब्दावलियों और अनुक्रमणिका की तालिकाएँ उत्पन्न करने के लिए पर्याप्त रूप से परिष्कृत हो सकती हैं। वे एक ही दस्तावेज़ के विभिन्न संस्करण (जैसे कि "ट्यूटोरियल" या "त्वरित-संदर्भ मार्गदर्शिका", जहां इनमें से प्रत्येक में सामग्री का एक सबसेट सम्मिलित होता है) तैयार करने के लिए मास्टर दस्तावेज़ के विशेष निर्दिष्ट भागों के चयन की देखरेख कर सकते हैं। उपयोगकर्ता अपनी आवश्यकताओं के अनुसार डॉकबुक को उचित आउटपुट प्रारूप में संसाधित करने के लिए अपनी स्वयं की अनुकूलित स्टाइलशीट या एक पूर्ण प्रोग्राम भी लिख सकते हैं।
डॉकबुक फाइलों का उपयोग विभिन्न प्रकार के प्रारूपों में आउटपुट फाइलें तैयार करने के लिए किया जाता है। लगभग हमेशा, यह [[DocBook XSL|डॉकबुक]] एक्सएसएल स्टाइलशीट का उपयोग करके पूरा किया जाता है। ये एक्सएसएलटी स्टाइलशीट हैं जो डॉकबुक डॉक्यूमेंटों को कई प्रारूपों में परिवर्तित करती हैं (एचटीएमएल, बाद में पीडीएफ में रूपांतरण के लिए एक्सएसएल-एफओ, आदि)। ये स्टाइलशीट सामग्री, शब्दावलियों और अनुक्रमणिका की तालिकाएँ उत्पन्न करने के लिए पर्याप्त रूप से परिष्कृत हो सकती हैं। वे एक ही डॉक्यूमेंट़ के विभिन्न संस्करण (जैसे कि "ट्यूटोरियल" या "त्वरित-संदर्भ मार्गदर्शिका", जहां इनमें से प्रत्येक में सामग्री का एक सबसेट सम्मिलित होता है) तैयार करने के लिए मास्टर डॉक्यूमेंट़ के विशेष निर्दिष्ट भागों के चयन की देखरेख कर सकते हैं। उपयोगकर्ता अपनी आवश्यकताओं के अनुसार डॉकबुक को उचित आउटपुट प्रारूप में संसाधित करने के लिए अपनी स्वयं की अनुकूलित स्टाइलशीट या एक पूर्ण प्रोग्राम भी लिख सकते हैं।


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


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


डॉकबुक बड़ी संख्या में सुविधाएँ प्रदान करता है जो एक नए उपयोगकर्ता के लिए भारी हो सकती हैं। जो लोग कठिन अध्ययन के बिना डॉकबुक की सुविधा चाहते हैं, उनके लिए डॉकबुक सरलीकृत डिज़ाइन किया गया था। यह डॉकबुक का छोटा उपसमुच्चय है जिसे लेख या श्वेत पत्र (यानी, "किताबें" समर्थित नहीं हैं) जैसे एकल दस्तावेज़ों के लिए डिज़ाइन किया गया है। सरलीकृत डॉकबुक डीटीडी वर्तमान में संस्करण 1.1 पर है।<ref>[http://www.docbook.org/schemas/sdocbook/ Simplified DocBook]</ref>
डॉकबुक बड़ी संख्या में सुविधाएँ प्रदान करता है जो एक नए उपयोगकर्ता के लिए भारी हो सकती हैं। जो लोग कठिन अध्ययन के बिना डॉकबुक की सुविधा चाहते हैं, उनके लिए डॉकबुक सरलीकृत डिज़ाइन किया गया था। यह डॉकबुक का छोटा उपसमुच्चय है जिसे लेख या श्वेत पत्र (यानी, "किताबें" समर्थित नहीं हैं) जैसे एकल डॉक्यूमेंट़ों के लिए डिज़ाइन किया गया है। सरलीकृत डॉकबुक डीटीडी वर्तमान में संस्करण 1.1 पर है।<ref>[http://www.docbook.org/schemas/sdocbook/ Simplified DocBook]</ref>
== आलोचना ==
== आलोचना ==
[[ओपनबीएसडी]] के मैंडॉक के लेखक इंगो श्वार्ज़, मैन पेजों के लिए डॉकबुक को सिमेंटिक एमडीओसी मैक्रो से न्यूनतम मानते हैं। डॉकबुक-टू-एमडॉक कनवर्टर लिखने के प्रयास में (पिछले कन्वर्टर्स जैसे डॉकबुक-टू-मैन शब्दार्थ तत्वों को कवर नहीं करता है), वह अर्थ भागों को पाता है "डॉक में सम्मिलित तत्वों की तुलना में एक ही समय में सुस्त, निरर्थक और अधूरा "। इसके अतिरिक्त, श्वार्ज़ ने डॉकबुक विनिर्देश को टैग के उपयोग के बारे में पर्याप्त रूप से विशिष्ट नहीं पाया है, संस्करणों में गैर-पोर्टेबल भाषा, विवरण में किसी न किसी तरह और समग्र अतुलनीय है।<ref>{{cite web |last1=Schwarze |first1=Igor |title=docbook2mdoc-1.0.0 released |url=https://undeadly.org/cgi?action=article&sid=20190419101505 |website=OpenBSD Journal |date=April 19, 2019}}</ref>
[[ओपनबीएसडी]] के मैंडॉक के लेखक इंगो श्वार्ज़, मैन पेजों के लिए डॉकबुक को सिमेंटिक एमडीओसी मैक्रो से न्यूनतम मानते हैं। डॉकबुक-टू-एमडॉक कनवर्टर लिखने के प्रयास में (पिछले कन्वर्टर्स जैसे डॉकबुक-टू-मैन शब्दार्थ तत्वों को कवर नहीं करता है), वह अर्थ भागों को पाता है "डॉक में सम्मिलित तत्वों की तुलना में एक ही समय में सुस्त, निरर्थक और अधूरा "। इसके अतिरिक्त, श्वार्ज़ ने डॉकबुक विनिर्देश को टैग के उपयोग के बारे में पर्याप्त रूप से विशिष्ट नहीं पाया है, संस्करणों में गैर-पोर्टेबल भाषा, विवरण में किसी न किसी तरह और समग्र अतुलनीय है।<ref>{{cite web |last1=Schwarze |first1=Igor |title=docbook2mdoc-1.0.0 released |url=https://undeadly.org/cgi?action=article&sid=20190419101505 |website=OpenBSD Journal |date=April 19, 2019}}</ref>

Revision as of 13:09, 30 June 2023

डॉकबुक
Filename extension
.dbk, .xml
Internet media type
एप्लिकेशन/डॉकबुक+एक्सएमएल
Developed byओएसिस
Type of formatमार्कअप लैंग्वेज
Extended fromएसजीएमएल, एक्सएमएल
Standard5.1 (November 2016),
4.5 (October 2006)
Open format?हाँ

डॉकबुक तकनीकी डॉक्यूमेंट के लिए एक सिमेंटिक मार्कअप भाषा है। यह मूल रूप से कंप्यूटर हार्डवेयर और सॉफ्टवेयर से संबंधित तकनीकी डॉक्यूमेंट लिखने के लिए था, लेकिन इसका उपयोग किसी अन्य प्रकार के प्रलेखन के लिए किया जा सकता है।[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है। सभी डॉकबुक तत्व एक्सएमएल नेमस्पेस में हैं, इसलिए मूल तत्व में वर्तमान नेमस्पेस सेट करने के लिए एक्सएमएलएनएस विशेषता है। इसके अलावा, डॉकबुक डॉक्यूमेंट़ के मूल तत्व में संस्करण होना चाहिए जो उस प्रारूप के संस्करण को निर्दिष्ट करता है जिस पर डॉक्यूमेंट़ बनाया गया है।

(एक्सएमएल डॉक्यूमेंट़ों में एक साथ कई नामस्थानों के तत्व सम्मिलित हो सकते हैं, जैसे उदाहरण में idविशेषताएँ।)

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

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

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

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

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

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

टेबल्स, लिस्ट आइटम और अन्य स्टाइल की गई सामग्री को डॉकबुक एडिटर में कॉपी और पेस्ट किया जा सकता है और इसे डॉकबुक एक्सएमएल आउटपुट में संरक्षित किया जाएगा।[3] क्योंकि डॉकबुक एक अच्छी तरह से परिभाषित एक्सएमएल स्कीमा के अनुरूप है, डॉक्यूमेंटों को किसी भी उपकरण या प्रोग्रामिंग भाषा का उपयोग करके मान्य और संसाधित किया जा सकता है जिसमें एक्सएमएल समर्थन सम्मिलित है।

इतिहास

डॉकबुक 1991 में यूज़नेट पर चर्चा समूहों में प्रारम्भ हुआ और अंततः एचएएल कंप्यूटर सिस्टम्स और ओ'रेली एंड एसोसिएट्स की एक संयुक्त परियोजना बन गई और अंततः अपने स्वयं के रखरखाव संगठन (डेवेनपोर्ट ग्रुप) को उत्त्पन्न कर दिया। 1998 में एसजीएमएल ओपन कंसोर्टियम में जाने से पहले, जो बाद में ओएसिस बन गया। डॉकबुक का रखरखाव वर्तमान में डॉकबुक में ओएसिस तकनीकी समिति द्वारा किया जाता है।[4]

डॉकबुक डीटीडी के रूप में एसजीएमएल और एक्सएमएल दोनों रूपों में उपलब्ध है। रिलैक्स एनजी और डब्ल्यू3सी एक्सएमएल के एक्सएमएल संस्करण और डब्ल्यू3सी एक्सएमएल स्कीमा प्रपत्र उपलब्ध हैं। डॉकबुक 5 से प्रारंभ करते हुए, रिलैक्स एनजी संस्करण "मानक" रूप है जिससे अन्य प्रारूप तैयार होते हैं।

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

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

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

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

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

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

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

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

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

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

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

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

आलोचना

ओपनबीएसडी के मैंडॉक के लेखक इंगो श्वार्ज़, मैन पेजों के लिए डॉकबुक को सिमेंटिक एमडीओसी मैक्रो से न्यूनतम मानते हैं। डॉकबुक-टू-एमडॉक कनवर्टर लिखने के प्रयास में (पिछले कन्वर्टर्स जैसे डॉकबुक-टू-मैन शब्दार्थ तत्वों को कवर नहीं करता है), वह अर्थ भागों को पाता है "डॉक में सम्मिलित तत्वों की तुलना में एक ही समय में सुस्त, निरर्थक और अधूरा "। इसके अतिरिक्त, श्वार्ज़ ने डॉकबुक विनिर्देश को टैग के उपयोग के बारे में पर्याप्त रूप से विशिष्ट नहीं पाया है, संस्करणों में गैर-पोर्टेबल भाषा, विवरण में किसी न किसी तरह और समग्र अतुलनीय है।[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 डॉकबुक: The Definitive Guide, the official documentation of डॉकबुक. This book is available online under the GFDL, and also as a print publication.

बाहरी संबंध