डॉकबुक

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

यह भी देखें

 * डॉक्युमेंट मार्कअप भाषाओं की सूची
 * डॉक्युमेंट मार्कअप भाषाओं की तुलना
 * डॉकबुक एक्सएसएल
 * डार्विन सूचना टंकण वास्तुकला
 * LinuxDoc डॉक
 * कंडोम
 * मुमासी

अग्रिम पठन
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.



बाहरी संबंध

 * DocBook.org - Collection of DocBook information, including a 4.x and 5.0 version of DocBook: The Definitive Guide and all versions of the DocBook schemas/DTDs.
 * DocBook Repository at OASIS - Normative home of DocBook schema/DTD.
 * DocBook XSL Project page at SourceForge.net, XSLT 1.0 Stylesheets for DocBook at GitHub
 * DocBook Demystification HOWTO
 * DocBook: The Definitive Guide, 1st edition, v. 2.0.6 - Fully bookmarked PDF of the Guide for DocBook 3.x and 4.x.
 * Writing with DocBook elements.