डॉकबुक

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

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

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

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

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

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


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

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

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

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

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

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

(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.