डाक्यूमेंट टाइप डिक्लेरेशन: Difference between revisions

From Vigyanwiki
No edit summary
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Short description|Instruction that associates documents with a document type definition}}
{{Short description|Instruction that associates documents with a document type definition}}
एक दस्तावेज़ प्रकार की घोषणा, या DOCTYPE, निर्देश है जो विशेष [[XML]] या [[SGML]] दस्तावेज़ (उदाहरण के लिए, [[ वेब पृष्ठ |वेब पृष्ठ]] ) को दस्तावेज़ प्रकार की परिभाषा (DTD) के साथ जोड़ता है (उदाहरण के लिए, HTML के विशेष संस्करण की औपचारिक परिभाषा। HTML) 2.0 - 4.0)।<ref>[https://www.w3.org/MarkUp/html-spec/html-pubtext.html HTML2] [https://www.w3.org/TR/2018/SPSD-html32-20180315/#dtd HTML3] [https://www.w3.org/TR/1998/REC-html40-19980424/sgml/dtd.html HTML4]</ref> दस्तावेज़ के क्रमबद्ध रूप में, यह मार्कअप भाषा की छोटी स्ट्रिंग के रूप में प्रकट होता है जो विशेष सिंटैक्स के अनुरूप होता है।
'''डॉक्यूमेंट प्रकार की स्टेटमेंट''' या डाॅकटाइप इस प्रकार के निर्देश है जो विशेषतः [[XML|एक्सएमएल]] या [[SGML|एसजीएमएल]] डॉक्यूमेंट जैसे उदाहरण के लिए, [[ वेब पृष्ठ |वेब पेज]] को डॉक्यूमेंट प्रकार की परिभाषा जैसे डीटीडी से जोड़ता है, उदाहरण के लिए एचटीएमएल के विशेष संस्करण की औपचारिक परिभाषा एचटीएमएल 2.0 - 4.0 इसका प्रमुख उदाहरण हैं।<ref>[https://www.w3.org/MarkUp/html-spec/html-pubtext.html HTML2] [https://www.w3.org/TR/2018/SPSD-html32-20180315/#dtd HTML3] [https://www.w3.org/TR/1998/REC-html40-19980424/sgml/dtd.html HTML4]</ref> इस प्रकार डॉक्यूमेंट के क्रमबद्ध रूप में यह मार्कअप भाषा को इस प्रकार की छोटी स्ट्रिंग के रूप में प्रकट करने में सहायता प्रदान करता है जो विशेष प्रारूप के अनुरूप रहता है।


आधुनिक [[वेब ब्राउज़र]] में [[HTML]] [[ब्राउज़र इंजन]] DOCTYPE स्नीफिंग या स्विचिंग करते हैं, जिसमें दस्तावेज़ में DOCTYPE के रूप में कार्य किया जाता है <code>text/html</code> लेआउट मोड निर्धारित करता है, जैसे विचित्र मोड या मानक मोड। <code>text/html</code> e> [[HTML5]] का क्रमांकन, जो SGML-आधारित नहीं है, केवल मोड चयन के लिए DOCTYPE का उपयोग करता है। चूंकि वेब ब्राउज़र सामान्य-उद्देश्य वाले DTD-आधारित पार्सर्स के बजाय विशेष-उद्देश्य वाले HTML पार्सर्स के साथ कार्यान्वित किए जाते हैं, इसलिए वे DTDs का उपयोग नहीं करते हैं और URL प्रदान किए जाने पर भी उन तक कभी भी पहुंच नहीं पाते हैं। DOCTYPE को HTML5 में ज्यादातर बेकार, लेकिन आवश्यक हेडर के रूप में बनाए रखा जाता है, जो सामान्य ब्राउज़रों में मानक मोड को ट्रिगर करने के लिए होता है।<ref>{{cite web |url=http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#the-doctype |title=The HTML syntax ― HTML5 |access-date=2011-06-05}}</ref>
आधुनिक [[वेब ब्राउज़र]] में [[HTML|एचटीएमएल]] [[ब्राउज़र इंजन]] डाॅकटाइप स्नीफिंग या स्विचिंग करते हैं, जिसमें डॉक्यूमेंट में डाॅकटाइप के रूप में कार्य किया जाता है, इसके आधार पर <code>text/html</code> लेआउट मोड निर्धारित करता है, जैसे विचित्र मोड या मानक मोड इत्यादि। इस प्रकार <code>text/html</code> [[HTML5|एचटीएमएल5]] का क्रमांकन, जो एसजीएमएल-आधारित नहीं है, केवल मोड चयन के लिए डाॅकटाइप का उपयोग करता है। चूंकि वेब ब्राउज़र सामान्य-उद्देश्य वाले डीटीडी-आधारित पार्सर्स के अतिरिक्त विशेष-उद्देश्य वाले एचटीएमएल पार्सर्स के साथ कार्यान्वित किए जाते हैं, इसलिए इस प्रकार के डीटीडीs का उपयोग नहीं करते हैं और इसके लिए प्राप्त होने वाले URL प्रदान किए जाने पर भी उन तक कभी भी पहुंच नहीं पाते हैं। इसके आधार पर डाॅकटाइप को एचटीएमएल5 में अधिकांशतः आवश्यक हेडर के रूप में बनाए रखा जाता है, जो सामान्य ब्राउज़रों में मानक मोड को ट्रिगर करने के लिए होता है।<ref>{{cite web |url=http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#the-doctype |title=The HTML syntax ― HTML5 |access-date=2011-06-05}}</ref>
 
== प्रारूप ==
 
डॉक्यूमेंट प्रकार की स्टेटमेंट के लिए सामान्य प्रारूप इस प्रकार है:
== सिंटेक्स ==
दस्तावेज़ प्रकार की घोषणा के लिए सामान्य सिंटैक्स है:


<syntaxhighlight lang="dtd">
<syntaxhighlight lang="dtd">
Line 20: Line 18:
]>
]>
</syntaxhighlight>
</syntaxhighlight>
=== डॉक्यूमेंट प्रकार का नाम ===
{{code|<!DOCTYPE}} प्रारूप के बाद इसे मुख्य प्रारूप से अलग कर दिया जाता है<ref name="goldfarb"/>{{rp|403–404}} जैसे रिक्त स्थान,<ref name="goldfarb"/>{{rp|297–298,372}} या (एक्सएमएल को छोड़कर) टिप्पणियों को दोगुने [[हाइफन-ऋण]] द्वारा खोला और बंद कर दिया जाता हैं,<ref name="goldfarb"/>{{rp|372,391}} इसके पश्चात डॉक्यूमेंट प्रकार का नाम<ref name="goldfarb"/>{{rp|403–404}} अर्थात मूल एलिमेंट का नाम जो डीटीडी से उतरने वाले पेड़ों पर लागू होता है। इसके आधार पर एक्सएमएल में, मूल एलिमेंट जो डॉक्यूमेंट का प्रतिनिधित्व करता है, डॉक्यूमेंट में पहला एलिमेंट है। उदाहरण के लिए, एक्सएचटीएमएल में, मूल एलिमेंट <html> है, इस प्रकार पहला एलिमेंट ओपेन किया जाता है, डॉकटाइप स्टेटमेंट  के बाद इसो बंद कर दिया जाता हैं।


चूंकि बाहरी पहचानकर्ता और आंतरिक उपसमुच्चय दोनों वैकल्पिक हैं,<ref name="goldfarb"/>{{rp|403–404}} डॉक्यूमेंट प्रकार का नाम ही एकमात्र सूचना है जिसे डाॅकटाइप स्टेटमेंट में देना अनिवार्य है।


=== दस्तावेज़ प्रकार का नाम ===
=== एक्सटर्नल आइडेंटिफायर ===
द ओपनिंग {{code|<!DOCTYPE}} सिंटैक्स के बाद सिंटैक्स को अलग किया जाता है<ref name="goldfarb"/>{{rp|403–404}} (जैसे रिक्त स्थान,<ref name="goldfarb"/>{{rp|297–298,372}} या (XML को छोड़कर) टिप्पणियों को दोगुने [[हाइफन-ऋण]] द्वारा खोला और बंद किया गया),<ref name="goldfarb"/>{{rp|372,391}} उसके बाद दस्तावेज़ प्रकार का नाम<ref name="goldfarb"/>{{rp|403–404}} (यानी मूल तत्व का नाम जो डीटीडी से उतरने वाले पेड़ों पर लागू होता है)। XML में, मूल तत्व जो दस्तावेज़ का प्रतिनिधित्व करता है, दस्तावेज़ में पहला तत्व है। उदाहरण के लिए, एक्सएचटीएमएल में, मूल तत्व <html> है, पहला तत्व खोला गया है (डॉकटाइप घोषणा के बाद) और आखिरी बंद।
डाॅकटाइप स्टेटमेंट में वैकल्पिक रूप से एसजीएमएल में औपचारिक सार्वजनिक पहचानकर्ता और सिस्टम पहचानकर्ता सम्मिलित हो सकते हैं, मूल एलिमेंट नाम और रिक्त स्थान जैसे प्रारूप को अलग करने के पश्चात किसी भी आंतरिक उपसमुच्चय से पहले इसका उपयोग करते हैं।<ref name="goldfarb"/>{{rp|403–404}} इस प्रकार यह या तो कीवर्ड से प्रारंभ होता है, या इसके अतिरिक्त {{code|SYSTEM}} या कीवर्ड {{code|PUBLIC}},<ref name="goldfarb"/>{{rp|379}} यह निर्दिष्ट करना कि क्या डीटीडी को सार्वजनिक पहचानकर्ता का उपयोग करके निर्दिष्ट किया जाता है, जो इसे सार्वजनिक पाठ के रूप में पहचानता है, अर्थात कई कंप्यूटर सिस्टम के बीच साझा किया गया है (भले ही यह आम जनता के लिए उपलब्ध उपलब्ध सार्वजनिक पाठ है, या अनुपलब्ध सार्वजनिक पाठ केवल के भीतर साझा किया गया है।<ref name="goldfarb">{{cite book |isbn=0-19-853737-9 |title=एसजीएमएल हैंडबुक|last=Goldfarb |first=Charles F. |author-link=Charles Goldfarb |publisher=[[Clarendon Press]] |location=[[Oxford]] |year=1990}}</ref>{{rp|180–182}} इस प्रकार यदि सार्वजनिक कीवर्ड का उपयोग किया जाता है, तो इसके पश्चात दोहरे या एकल [[ASCII]] उद्धरण चिह्नों में संलग्न सार्वजनिक पहचानकर्ता होता है। इस प्रकार सार्वजनिक पहचानकर्ता भंडारण स्थान की ओर इंगित नहीं करता है, बल्कि विशिष्ट निश्चित स्ट्रिंग है जिसे तालिका में देखा जा सकता है (जैसे [[एसजीएमएल कैटलॉग]]);<ref name="goldfarb"/>{{rp|180}} चूंकि, कुछ (अपितु सभी नहीं) एसजीएमएल प्रोफाइल में, सार्वजनिक पहचानकर्ता को [[औपचारिक सार्वजनिक पहचानकर्ता]] (एफपीआई) नामक विशेष प्रारूप का उपयोग करके बनाया जाना चाहिए, जो इसके अधिकार को निर्दिष्ट करता है और यह भी बताता है कि यह पब्लिक के लिए उपलब्ध है या नहीं इसे भी प्रतिउत्तर में देखा जाता हैं।<ref name="goldfarb"/>{{rp|182–183}}


चूंकि बाहरी पहचानकर्ता और आंतरिक उपसमुच्चय दोनों वैकल्पिक हैं,<ref name="goldfarb"/>{{rp|403–404}} दस्तावेज़ प्रकार का नाम ही एकमात्र सूचना है जिसे DOCTYPE घोषणा में देना अनिवार्य है।
सार्वजनिक पहचानकर्ता यदि सम्मिलित है या {{code|SYSTEM}} कीवर्ड प्रयुक्त होता है और, एक्सएमएल के लिए इसे अवश्य ही<ref name="xml-catalog">{{cite web |url=https://www.oasis-open.org/committees/entity/spec.html |title=एक्सएमएल कैटलॉग|date=2001-08-06 |first=Norman |last=Walsh |institution=The Organization for the Advancement of Structured Information Standards (OASIS)}}</ref> सिस्टम आइडेंटिफ़ायर द्वारा अनुसरण किया जाना आवश्यक होता हैं, जो इसी प्रकार उद्धरण चिह्नों से संलग्न होता है। चूंकि इस प्रकार की सामान्य एसजीएमएल में सिस्टम पहचानकर्ताओं की व्याख्या पूर्ण रूप से सिस्टम पर निर्भर रहता है,और फ़ाइल नाम, डेटाबेस कुंजी, ऑफ़सेट, या कुछ और हो सकती है,<ref name="goldfarb"/>{{rp|378}} इस प्रकार एक्सएमएल के लिए आवश्यक है कि वे [[URI|URL]] उपलब्ध हों,<ref name="clarkxml">{{cite web |url=https://www.w3.org/TR/NOTE-sgml-xml-971215/ |title=एसजीएमएल और एक्सएमएल की तुलना|publisher=[[W3C]] |id=NOTE-sgml-xml-971215 |date=1997-12-15 |last=Clark |first=James |author-link=James Clark (programmer)}}</ref> उदाहरण के लिए, एक्सएचटीएमएल 1.1 के लिए FPI है {{code|"-//W3C//DTD XHTML 1.1//EN"}} और, आवश्यकताओं के आधार पर एक्सएचटीएमएल 1.1 के लिए 3 संभावित सिस्टम पहचानकर्ता उपलब्ध हैं। उनमें से [[URL]] संदर्भ है {{code|"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"}} इसका अर्थ यह है कि एक्सएमएल पार्सर को डीटीडी को सिस्टम विशिष्ट प्रक्रिया में ढूंढना चाहिए, इस स्थिति में डबल कोट चिह्नों में संलग्न डीटीडी के यूआरएल संदर्भ के माध्यम से उपयुक्त होता हैं।


=== बाहरी पहचानकर्ता ===
एक्सएचटीएमएल डॉक्यूमेंटों में, डाॅकटाइप स्टेटमेंट को सदैव सिस्टम पहचानकर्ता को स्पष्ट रूप से निर्दिष्ट करना चाहिए। दूसरी ओर एचटीएमएल जैसे एसजीएमएल-आधारित डॉक्यूमेंटों में, दिए गए सार्वजनिक पहचानकर्ता से स्वचालित रूप से उपयुक्त सिस्टम पहचानकर्ता का अनुमान लगाया जा सकता है। इस प्रकार यह मुख्य रूप से उदाहरण के लिए एफपीआई को सिस्टम आइडेंटिफ़ायर में हल करने वाली कैटलॉग फ़ाइल के माध्यम से किया जाना चाहिए।<ref>{{Cite web |url=http://www.freebsd.org/doc/en/books/fdp-primer/sgml-primer-doctype-declaration.html |title=DOCTYPE घोषणा|access-date=2011-09-09 |archive-url=https://web.archive.org/web/20110814080220/http://www.freebsd.org/doc/en/books/fdp-primer/sgml-primer-doctype-declaration.html |archive-date=2011-08-14 |url-status=dead }}</ref> {{code|SYSTEM}EM}} कीवर्ड (एक्सएमएल को छोड़कर) का उपयोग सिस्टम पहचानकर्ता के बिना भी किया जा सकता है, यह दर्शाता है कि डीटीडी सम्मिलित है अपितु डॉक्यूमेंट प्रकार के नाम से अनुमान लगाया जाना चाहिए।<ref name="goldfarb"/>{{rp|378}}
DOCTYPE घोषणा में वैकल्पिक रूप से SGML में औपचारिक सार्वजनिक पहचानकर्ता # सार्वजनिक पहचानकर्ता और सिस्टम पहचानकर्ता शामिल हो सकते हैं, मूल तत्व नाम (और रिक्त स्थान जैसे सिंटैक्स को अलग करना) के बाद, लेकिन किसी भी आंतरिक उपसमुच्चय से पहले।<ref name="goldfarb"/>{{rp|403–404}} यह या तो कीवर्ड से शुरू होता है {{code|SYSTEM}} या कीवर्ड {{code|PUBLIC}},<ref name="goldfarb"/>{{rp|379}} यह निर्दिष्ट करना कि क्या डीटीडी को सार्वजनिक पहचानकर्ता का उपयोग करके निर्दिष्ट किया गया है जो इसे सार्वजनिक पाठ के रूप में पहचानता है, यानी कई कंप्यूटर सिस्टम के बीच साझा किया गया है (भले ही यह आम जनता के लिए उपलब्ध उपलब्ध सार्वजनिक पाठ है, या अनुपलब्ध सार्वजनिक पाठ केवल के भीतर साझा किया गया है) संगठन)।<ref name="goldfarb">{{cite book |isbn=0-19-853737-9 |title=एसजीएमएल हैंडबुक|last=Goldfarb |first=Charles F. |author-link=Charles Goldfarb |publisher=[[Clarendon Press]] |location=[[Oxford]] |year=1990}}</ref>{{rp|180–182}} यदि सार्वजनिक कीवर्ड का उपयोग किया जाता है, तो उसके बाद दोहरे या एकल [[ASCII]] उद्धरण चिह्नों में संलग्न सार्वजनिक पहचानकर्ता होता है। सार्वजनिक पहचानकर्ता भंडारण स्थान की ओर इशारा नहीं करता है, बल्कि विशिष्ट निश्चित स्ट्रिंग है जिसे तालिका में देखा जा सकता है (जैसे [[एसजीएमएल कैटलॉग]]);<ref name="goldfarb"/>{{rp|180}} हालांकि, कुछ (लेकिन सभी नहीं) एसजीएमएल प्रोफाइल में, सार्वजनिक पहचानकर्ता को [[औपचारिक सार्वजनिक पहचानकर्ता]] (एफपीआई) नामक विशेष सिंटैक्स का उपयोग करके बनाया जाना चाहिए, जो मालिक को निर्दिष्ट करता है और यह भी बताता है कि यह आम जनता के लिए उपलब्ध है या नहीं।<ref name="goldfarb"/>{{rp|182–183}}
 
सार्वजनिक पहचानकर्ता (यदि मौजूद है) या {{code|SYSTEM}} कीवर्ड (अन्यथा) हो सकता है (और, XML में, अवश्य)<ref name="xml-catalog">{{cite web |url=https://www.oasis-open.org/committees/entity/spec.html |title=एक्सएमएल कैटलॉग|date=2001-08-06 |first=Norman |last=Walsh |institution=The Organization for the Advancement of Structured Information Standards (OASIS)}}</ref> सिस्टम आइडेंटिफ़ायर द्वारा पीछा किया जाना चाहिए जो इसी तरह उद्धरण चिह्नों में संलग्न है। हालांकि सामान्य एसजीएमएल में सिस्टम पहचानकर्ताओं की व्याख्या पूरी तरह से सिस्टम पर निर्भर है (और फ़ाइल नाम, डेटाबेस कुंजी, ऑफ़सेट, या कुछ और हो सकती है),<ref name="goldfarb"/>{{rp|378}} XML के लिए आवश्यक है कि वे [[URI]] हों.<ref name="clarkxml">{{cite web |url=https://www.w3.org/TR/NOTE-sgml-xml-971215/ |title=एसजीएमएल और एक्सएमएल की तुलना|publisher=[[W3C]] |id=NOTE-sgml-xml-971215 |date=1997-12-15 |last=Clark |first=James |author-link=James Clark (programmer)}}</ref> उदाहरण के लिए, XHTML 1.1 के लिए FPI है {{code|"-//W3C//DTD XHTML 1.1//EN"}} और, आवश्यकताओं के आधार पर XHTML 1.1 के लिए 3 संभावित सिस्टम पहचानकर्ता उपलब्ध हैं। उनमें से [[URL]] संदर्भ है {{code|"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"}}. इसका मतलब यह है कि एक्सएमएल पार्सर को डीटीडी को सिस्टम विशिष्ट फैशन में ढूंढना चाहिए, इस मामले में, डबल कोट चिह्नों में संलग्न डीटीडी के यूआरएल संदर्भ के माध्यम से।
 
XHTML दस्तावेज़ों में, doctype घोषणा को हमेशा सिस्टम पहचानकर्ता को स्पष्ट रूप से निर्दिष्ट करना चाहिए। दूसरी ओर HTML जैसे SGML-आधारित दस्तावेज़ों में, दिए गए सार्वजनिक पहचानकर्ता से स्वचालित रूप से उपयुक्त सिस्टम पहचानकर्ता का अनुमान लगाया जा सकता है। यह संघ उदा। FPI को सिस्टम आइडेंटिफ़ायर में हल करने वाली कैटलॉग फ़ाइल के माध्यम से किया जाना चाहिए।<ref>{{Cite web |url=http://www.freebsd.org/doc/en/books/fdp-primer/sgml-primer-doctype-declaration.html |title=DOCTYPE घोषणा|access-date=2011-09-09 |archive-url=https://web.archive.org/web/20110814080220/http://www.freebsd.org/doc/en/books/fdp-primer/sgml-primer-doctype-declaration.html |archive-date=2011-08-14 |url-status=dead }}</ref> {{code|SYSTEM}EM}} कीवर्ड (XML को छोड़कर) का उपयोग सिस्टम पहचानकर्ता के बिना भी किया जा सकता है, यह दर्शाता है कि DTD मौजूद है लेकिन दस्तावेज़ प्रकार के नाम से अनुमान लगाया जाना चाहिए।<ref name="goldfarb"/>{{rp|378}}


=== आंतरिक सबसेट ===
=== आंतरिक सबसेट ===


DOCTYPE घोषणा का अंतिम, वैकल्पिक, भाग शाब्दिक वर्ग कोष्ठकों से घिरा हुआ है ({{code|[]}}), और आंतरिक उपसमुच्चय कहा जाता है। इसका उपयोग Document_type_definition#Markup घोषणाओं को जोड़ने/संपादित करने या सार्वजनिक कीवर्ड व्यवहारों को जोड़ने/संपादित करने के लिए किया जा सकता है।<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/ms256059.aspx|title=DOCTYPE घोषणा|website=msdn.microsoft.com}}</ref> यह संभव है, लेकिन असामान्य है, पूरे डीटीडी इन-लाइन को दस्तावेज़ में, आंतरिक उपसमुच्चय के भीतर, बाहरी फ़ाइल से संदर्भित करने के बजाय शामिल करना।<ref name="goldfarb"/>{{rp|402}} इसके विपरीत, आंतरिक उपसमुच्चय को कभी-कभी साधारण एसजीएमएल प्रोफाइलों में वर्जित किया जाता है, विशेष रूप से बुनियादी एचटीएमएल पार्सर्स के लिए जो पूर्ण एसजीएमएल पार्सर को लागू नहीं करते हैं।
डाॅकटाइप स्टेटमेंट का अंतिम, वैकल्पिक, भाग शाब्दिक वर्ग कोष्ठकों ({{code|[]}}) से घिरा हुआ है, और इसको आंतरिक उपसमुच्चय कहा जाता है। इसका उपयोग Document_type_definition#Markup स्टेटमेंटओं को जोड़ने/संपादित करने या सार्वजनिक कीवर्ड व्यवहारों को जोड़ने/संपादित करने के लिए किया जा सकता है।<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/ms256059.aspx|title=DOCTYPE घोषणा|website=msdn.microsoft.com}}</ref> इस प्रकार यह संभव है, अपितु असामान्य है, इसके कारण यह पूरे डीटीडी इन-लाइन को डॉक्यूमेंट में, आंतरिक उपसमुच्चय के भीतर, बाहरी फ़ाइल से संदर्भित करने के अतिरिक्त सम्मिलित किया जाता हैं।<ref name="goldfarb"/>{{rp|402}} इसके विपरीत, आंतरिक उपसमुच्चय को कभी-कभी साधारण एसजीएमएल प्रोफाइलों में वर्जित किया जाता है, विशेष रूप से यह मौलिक रूप से एचटीएमएल पार्सर्स के लिए जो पूर्ण एसजीएमएल पार्सर को लागू नहीं करते हैं।


यदि आंतरिक DTD सबसेट और बाहरी पहचानकर्ता दोनों को DOCTYPE घोषणा में शामिल किया जाता है, तो आंतरिक सबसेट को पहले संसाधित किया जाता है, और बाहरी DTD सबसेट को इस तरह माना जाता है जैसे कि इसे आंतरिक सबसेट के अंत में शामिल किया गया हो। चूँकि पहले की परिभाषाएँ DTD में बाद की परिभाषाओं पर वरीयता लेती हैं, यह आंतरिक सबसेट को बाहरी सबसेट में परिभाषाओं को ओवरराइड करने की अनुमति देती है।<ref name="goldfarb"/>{{rp|402–403}}
यदि आंतरिक डीटीडी सबसेट और बाहरी पहचानकर्ता दोनों को डाॅकटाइप स्टेटमेंट में सम्मिलित किया जाता है, तो आंतरिक सबसेट को पहले संसाधित किया जाता है, और इस प्रकार बाहरी डीटीडी सबसेट को इस प्रकार माना जाता है जैसे कि इसे आंतरिक सबसेट के अंत में सम्मिलित किया गया हो। चूँकि इस प्रकार पहले की परिभाषाएँ डीटीडी में बाद की परिभाषाओं पर वरीयता लेती हैं, इस प्रकार यह आंतरिक सबसेट को बाहरी सबसेट में परिभाषाओं को ओवरराइड करने की अनुमति देती है।<ref name="goldfarb"/>{{rp|402–403}}


=== उदाहरण ===
=== उदाहरण ===
Line 48: Line 44:
<html lang= ar dir= ltr xmlns= http://www.w3.org/1999/xhtml ></syntaxhighlight>
<html lang= ar dir= ltr xmlns= http://www.w3.org/1999/xhtml ></syntaxhighlight>


एक्सएचटीएमएल के लिए इस दस्तावेज़ प्रकार की घोषणा में डीटीडी का संदर्भ शामिल है, जिसका सार्वजनिक पहचानकर्ता है <code><nowiki>-//W3C//DTD XHTML 1.0 Transitional//EN</nowiki></code> और जिसका सिस्टम आइडेंटिफायर है <code><nowiki>http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</nowiki></code>. संदर्भित बाहरी इकाई का पता लगाने के लिए इकाई रिज़ॉल्वर या तो पहचानकर्ता का उपयोग कर सकता है। इस उदाहरण या अगले उदाहरण में कोई आंतरिक उपसमुच्चय नहीं दर्शाया गया है। मूल तत्व घोषित किया गया है <code>html</code> और, इसलिए, यह इस उदाहरण में और अगले वाले भी doctype घोषणा के अंत के बाद खोला जाने वाला पहला टैग है। HTML टैग doctype घोषणा का हिस्सा नहीं है, लेकिन अभिविन्यास उद्देश्यों के लिए उदाहरणों में शामिल किया गया है।
एक्सएचटीएमएल के लिए इस डॉक्यूमेंट प्रकार की स्टेटमेंट में डीटीडी का संदर्भ सम्मिलित है, जिसका सार्वजनिक पहचानकर्ता है <code><nowiki>-//W3C//DTD XHTML 1.0 Transitional//EN</nowiki></code> और जिसका सिस्टम आइडेंटिफायर है <code>[http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.डीटीडी],</code> संदर्भित बाहरी इकाई का पता लगाने के लिए इकाई रिज़ॉल्वर या तो पहचानकर्ता का उपयोग कर सकता है। इस उदाहरण या अगले उदाहरण में कोई आंतरिक उपसमुच्चय नहीं दर्शाया गया है। इस प्रकार मूल एलिमेंट घोषित किया गया है <code>html</code> और, इसलिए यह इस उदाहरण में और अगले वाले भी doctype स्टेटमेंट के अंत के बाद खोला जाने वाला पहला टैग है। इस प्रकार एचटीएमएल टैग डाॅकटाइप स्टेटमेंट का हिस्सा नहीं है, अपितु इस प्रकार अभिविन्यास उद्देश्यों के लिए उदाहरणों में सम्मिलित किया गया है।


== सामान्य डीटीडी ==
== सामान्य डीटीडी ==


कुछ सामान्य डीटीडी को सूचियों में डाल दिया गया है। W3C ने वेब में आमतौर पर उपयोग किए जाने वाले DTDs की सूची तैयार की है, जिसमें नंगे HTML5 DTD, पुराने XHTML/HTML DTDs, सामान्य एम्बेडेड XML-आधारित स्वरूपों के DTDs जैसे [[MathML]] और [[स्केलेबल वेक्टर ग्राफिक्स]] के साथ-साथ मिश्रित दस्तावेज़ शामिल हैं जो उन स्वरूपों को जोड़ते हैं।<ref>{{cite web |title=W3C QA - Recommended list of Doctype declarations you can use in your Web document |url=https://www.w3.org/QA/2002/04/valid-dtd-list.html |website=www.w3.org |access-date=22 March 2019 |language=en}}</ref> W3C HTML5 और इसके संबंधित WHATWG संस्करण दोनों ही ब्राउज़रों को केवल कुछ FPI के XHTML DTDs को स्वीकार करने और बाहरी DTD फ़ाइलों को लाने पर आंतरिक तर्क का उपयोग करने को प्राथमिकता देने की सलाह देते हैं। यह आगे एक्सएचटीएमएल के लिए आंतरिक डीटीडी निर्दिष्ट करता है जो केवल एचटीएमएल इकाई नामों की सूची है।<ref>{{cite web |title=एचटीएमएल मानक|url=https://html.spec.whatwg.org/multipage/xhtml.html#parsing-xhtml-documents |website=html.spec.whatwg.org |access-date=22 March 2019}}</ref>{{rp|at=§13.2}}
कुछ सामान्य डीटीडी को सूचियों में डाल दिया गया है। इस प्रकार W3C ने वेब में सामान्यतः उपयोग किए जाने वाले डीटीडीs की सूची तैयार की है, जिसमें नंगे एचटीएमएल5 डीटीडी, पुराने एक्सएचटीएमएल/एचटीएमएल डीटीडी, सामान्य एम्बेडेड एक्सएमएल पर आधारित स्वरूपों के डीटीडी जैसे [[MathML|मैथ एमएल]] और [[स्केलेबल वेक्टर ग्राफिक्स]] के साथ-साथ मिश्रित डॉक्यूमेंट सम्मिलित हैं जो उन स्वरूपों को जोड़ते हैं।<ref>{{cite web |title=W3C QA - Recommended list of Doctype declarations you can use in your Web document |url=https://www.w3.org/QA/2002/04/valid-dtd-list.html |website=www.w3.org |access-date=22 March 2019 |language=en}}</ref> इस प्रकार W3C एचटीएमएल5 और इसके संबंधित वाटडब्ल्यूजी संस्करण दोनों ही ब्राउज़रों को केवल कुछ एफपीआई के एक्सएचटीएमएल डीटीडी को स्वीकार करने और बाहरी डीटीडी फ़ाइलों को लाने पर आंतरिक तर्क का उपयोग करने को प्राथमिकता देने का विचार रखते हैं। इस प्रकार यह आगे एक्सएचटीएमएल के लिए आंतरिक डीटीडी निर्दिष्ट करता है, जो केवल इस प्रकार एचटीएमएल इकाई नामों की सूची है।<ref>{{cite web |title=एचटीएमएल मानक|url=https://html.spec.whatwg.org/multipage/xhtml.html#parsing-xhtml-documents |website=html.spec.whatwg.org |access-date=22 March 2019}}</ref>{{rp|at=§13.2}}


=== एचटीएमएल 4.01 डीटीडी ===
=== एचटीएमएल 4.01 डीटीडी ===
सख्त डीटीडी प्रस्तुतिकरण मार्कअप को इस तर्क के साथ अनुमति नहीं देता है कि इसके बजाय कैस्केडिंग स्टाइल शीट्स का उपयोग किया जाना चाहिए। सख्त डीटीडी इस प्रकार दिखता है:
सख्त डीटीडी प्रस्तुतिकरण मार्कअप को इस तर्क के साथ अनुमति नहीं देता है कि इसके अतिरिक्त कैस्केडिंग स्टाइल शीट्स का उपयोग किया जाना चाहिए। इसके कारण डीटीडी को इस प्रकार प्रदर्शित करते है:
 
  <!DOCTYPE HTML public -//W3C//DTD HTML 4.01//EN
<वाक्यविन्यास लैंग = html4सख्त>
   [http://www.w3.org/TR/html4/strict.dtd http://www.w3.org/TR/html4/strict.डीटीडी] >
  <!DOCTYPE HTML पब्लिक -//W3C//DTD HTML 4.01//EN
  <HTML>
   http://www.w3.org/TR/html4/strict.dtd >
संक्रमणकालीन डीटीडी कुछ पुराने पब्लिक और विशेषताओं को अनुमति देता है जिन्हें बहिष्कृत कर दिया गया है:
  <एचटीएमएल>
</वाक्यविन्यास हाइलाइट>
 
संक्रमणकालीन DTD कुछ पुराने PUBLIC और विशेषताओं को अनुमति देता है जिन्हें बहिष्कृत कर दिया गया है:
 
<वाक्यविन्यास लैंग = html4सख्त>
  <!DOCTYPE HTML Public -//W3C//DTD HTML 4.01 Transitional//EN
  <!DOCTYPE HTML Public -//W3C//DTD HTML 4.01 Transitional//EN
   http://www.w3.org/TR/html4/loose.dtd >
   [http://www.w3.org/TR/html4/loose.dtd http://www.w3.org/TR/html4/loose.DTD] >
  <एचटीएमएल>
  <HTML>
</वाक्यविन्यास हाइलाइट>
यदि [[फ़्रेमिंग (वर्ल्ड वाइड वेब)]] का उपयोग किया जाता है, तो इसके अतिरिक्त फ़्रेमसेट डीटीडी का उपयोग किया जाना चाहिए, जैसे:
 
  <!DOCTYPE HTML Public -//W3C//DTD HTML 4.01 frameset//EN
यदि [[फ़्रेमिंग (वर्ल्ड वाइड वेब)]] का उपयोग किया जाता है, तो इसके बजाय फ़्रेमसेट DTD का उपयोग किया जाना चाहिए, जैसे:
   [http://www.w3.org/TR/html4/frameset.dtd http://www.w3.org/TR/html4/frameset.DTD] >
 
  <HTML>
<वाक्यविन्यास लैंग = html4सख्त>
  <!DOCTYPE HTML पब्लिक -//W3C//DTD HTML 4.01 फ़्रेमसेट//EN
   http://www.w3.org/TR/html4/frameset.dtd >
  <एचटीएमएल>
</वाक्यविन्यास हाइलाइट>
 
=== [[एक्सएचटीएमएल]] 1.0 डीटीडी ===
=== [[एक्सएचटीएमएल]] 1.0 डीटीडी ===
एक्सएचटीएमएल के डीटीडी भी सख्त, संक्रमणकालीन और फ्रेमसेट हैं।
एक्सएचटीएमएल के डीटीडी भी संक्रमणकालीन और फ्रेमसेट हैं।


एक्सएचटीएमएल सख्त डीटीडी। कोई बहिष्कृत टैग समर्थित नहीं हैं और कोड को XML विशिष्टता के अनुसार सही ढंग से लिखा जाना चाहिए।
एक्सएचटीएमएल डीटीडी मुख्य रूप से बहिष्कृत टैग द्वारा समर्थित नहीं होती हैं और इस प्रकार कोड को एक्सएमएल विशिष्टता के अनुसार सही ढंग से लिखा जाना चाहिए।


<वाक्यविन्यास लैंग = html4सख्त>
  <?xml version="1.0" encoding="UTF-8"?>
  <?xml संस्करण = 1.0 एन्कोडिंग = UTF-8 ?>
  <!DOCTYPE html
<!DOCTYPE html
      PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  पब्लिक -//W3C//DTD XHTML 1.0 स्ट्रिक्ट//EN
      "<nowiki>http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.DTD</nowiki>">
  http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd >
<html xmlns= http://www.w3.org/1999/xhtml xml:lang= en lang= en >
</वाक्यविन्यास हाइलाइट>


एक्सएचटीएमएल ट्रांजिशनल डीटीडी एक्सएचटीएमएल सख्त डीटीडी की तरह है, लेकिन [[पदावनत]] टैग की अनुमति है।
  <html xmlns="http://www.w3.org/1999/xhtml" XML:lang="en" lang="en">
एक्सएचटीएमएल ट्रांजिशनल डीटीडी एक्सएचटीएमएल डीटीडी केसमान है, अपितु इसके लिए doctype html टैग की अनुमति लेते है।
<?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE html
      PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "<nowiki>http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.DTD</nowiki>">


<वाक्यविन्यास लैंग = html4सख्त>
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <?xml संस्करण = 1.0 एन्कोडिंग = UTF-8 ?>
एक्सएचटीएमएल फ्रेमसेट डीटीडी एकमात्र एक्सएचटीएमएल डीटीडी है जो फ्रेमसेट का समर्थन करता है। यहाँ पर डीटीडी नीचे है।
<!DOCTYPE html
  <?xml version="1.0" encoding="UTF-8"?>
  पब्लिक - // W3C // DTD XHTML 1.0 ट्रांजिशनल // EN
  <!DOCTYPE html
  http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd >
      PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
<html xmlns= http://www.w3.org/1999/xhtml xml:lang= en lang= en >
      "<nowiki>http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.DTD</nowiki>">
</वाक्यविन्यास हाइलाइट>


एक्सएचटीएमएल फ्रेमसेट डीटीडी एकमात्र एक्सएचटीएमएल डीटीडी है जो फ्रेमसेट का समर्थन करता है। डीटीडी नीचे है।
   <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 
<वाक्यविन्यास लैंग = html4सख्त>
<?xml संस्करण = 1.0 एन्कोडिंग = UTF-8 ?>
<!DOCTYPE html
   पब्लिक -//W3C//DTD XHTML 1.0 फ्रेमसेट//EN
  http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd >
<html xmlns= http://www.w3.org/1999/xhtml xml:lang= en lang= en >
</वाक्यविन्यास हाइलाइट>


=== एक्सएचटीएमएल 1.1 डीटीडी ===
=== एक्सएचटीएमएल 1.1 डीटीडी ===
एक्सएचटीएमएल 1.1 एक्सएचटीएमएल का सबसे वर्तमान अंतिम संशोधन है, जो [[एक्सएचटीएमएल मॉड्यूलरीकरण]] के लिए समर्थन पेश करता है। XHTML 1.1 में XHTML 1.0 स्ट्रिक्ट की कठोरता है।
'''एक्सएचटीएमएल 1.1''' एक्सएचटीएमएल का सबसे वर्तमान अंतिम संशोधन है, जो [[एक्सएचटीएमएल मॉड्यूलरीकरण]] के लिए समर्थन प्रस्तुत करता है। इस प्रकार एक्सएचटीएमएल 1.1 में एक्सएचटीएमएल 1.0 स्ट्रिक्ट की कठोरता है।


<syntaxhighlight lang= html4strict ><!DOCTYPE html public
<syntaxhighlight lang= html4strict ><!DOCTYPE html public
Line 122: Line 99:
एक्सएचटीएमएल बेसिक 1.0
एक्सएचटीएमएल बेसिक 1.0


<syntaxhighlight lang= html4strict ><!DOCTYPE html public
<!DOCTYPE html PUBLIC
  -//W3C//DTD XHTML बेसिक 1.0//EN
  "-//W3C//DTD XHTML Basic 1.0//EN"
  http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd >
</वाक्यविन्यास हाइलाइट>


एक्सएचटीएमएल बेसिक 1.1
  "<nowiki>http://www.w3.org/TR/xhtml-basic/xhtml-basic10.DTD</nowiki>">
XHTML Basic 1.1
<!DOCTYPE html PUBLIC
  "-//W3C//DTD XHTML Basic 1.1//EN"


<syntaxhighlight lang= html4strict ><!DOCTYPE html public
  "<nowiki>http://www.w3.org/TR/xhtml-basic/xhtml-basic11.DTD</nowiki>">
  -//W3C//DTD XHTML बेसिक 1.1//EN
  http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd >
</वाक्यविन्यास हाइलाइट>


===HTML5 DTD-रहित DOCTYPE===
===एचटीएमएल5 डीटीडी-रहित डाॅकटाइप===
HTML5 का उपयोग करता है <code>DOCTYPE</code> यूआरएल या एफपीआई के रूप में डीटीडी के संदर्भ में इसकी कमी के कारण घोषणा बहुत कम है। इसमें केवल दस्तावेज़ के मूल तत्व का टैग नाम है, <code>HTML</code>.<ref>{{cite web |url=http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#the-doctype |title=The HTML syntax ― HTML5 |publisher=[[Web Hypertext Application Technology Working Group]] | access-date=2011-06-05 |quote=3. A string that is an ASCII case-insensitive match for the string "DOCTYPE". 5. A string that is an ASCII case-insensitive match for the string "HTML".}}</ref> विनिर्देश मसौदे के शब्दों में ही:
एचटीएमएल5 का उपयोग करता है <code>DOCTYPE</code> यूआरएल या एफपीआई के रूप में डीटीडी के संदर्भ में इसकी कमी के कारण स्टेटमेंट बहुत कम है। इसमें केवल डॉक्यूमेंट के मूल एलिमेंट का टैग <code>HTML</code> है, <ref>{{cite web |url=http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#the-doctype |title=The HTML syntax ― HTML5 |publisher=[[Web Hypertext Application Technology Working Group]] | access-date=2011-06-05 |quote=3. A string that is an ASCII case-insensitive match for the string "DOCTYPE". 5. A string that is an ASCII case-insensitive match for the string "HTML".}}</ref> विनिर्देशन के शब्दों में इसे इस प्रकार लिख सकते हैं:


<blockquote cite= http://dev.w3.org/html5/spec/syntax.html#the-doctype >{{code|lang=html|<!DOCTYPE html>}}, केस-असंवेदनशील रूप से।</blockquote>
<blockquote cite= http://dev.w3.org/html5/spec/syntax.html#the-doctype ><code><!DOCTYPE html></code>, case-insensitively.</blockquote>
 
यूआरआई या एफपीआई स्ट्रिंग की कमी के अपवाद के साथ (एफपीआई स्ट्रिंग को वैधकर्ताओं द्वारा संवेदनशील रूप से केस माना जाता है), यह प्रारूप (स्ट्रिंग का केस-असंवेदनशील मिलान) <code>!DOCTYPE HTML</code>) वही है जो SGML आधारित HTML 4.01 के सिंटैक्स में पाया जाता है <code>DOCTYPE</code>. HTML4 और HTML5 दोनों में, औपचारिक सिंटैक्स को अपर केस लेटर्स में परिभाषित किया गया है, भले ही लोअर केस और लोअर केस अपर केस के मिश्रण को भी वैध माना जाता है।
 
[[एक्सएचटीएमएल5]] 5 में <code>DOCTYPE</code> स्ट्रिंग का केस-संवेदी मिलान होना चाहिए{{code|lang=html|<!DOCTYPE html>}} . ऐसा इसलिए है क्योंकि एक्सएचटीएमएल सिंटैक्स में सभी एचटीएमएल तत्व नामों को निचले मामले में होना आवश्यक है, जिसमें एचटीएमएल 5 के अंदर संदर्भित मूल तत्व भी शामिल है। <code>DOCTYPE</code>. <code>DOCTYPE</code> e> XHTML5 में वैकल्पिक है और बस छोड़ा जा सकता है।<ref>{{cite web | url=http://www.whatwg.org/specs/web-apps/current-work/multipage/the-xhtml-syntax.html#writing-xhtml-documents | title=The XHTML syntax ― HTML5 | publisher=[[Web Hypertext Application Technology Working Group]] | access-date=2009-09-01 | url-status=dead | archive-url=https://web.archive.org/web/20120618203652/http://www.whatwg.org/specs/web-apps/current-work/multipage/the-xhtml-syntax.html | archive-date=2012-06-18 }}</ref> हालाँकि, यदि मार्कअप को [[ बहुभाषाविद मार्कअप |बहुभाषाविद मार्कअप]] होना है, तो DOCTYPE का उपयोग किया जाना चाहिए।<ref>{{cite web|url=http://www.w3.org/TR/html-polyglot/#doctype | title=Polyglot Markup: HTML-Compatible XHTML Documents | publisher=[[World Wide Web Consortium]] | access-date=2012-01-17}}</ref>


यूआरआई या एफपीआई स्ट्रिंग की कमी के अपवाद के साथ एफपीआई स्ट्रिंग को वैधकर्ताओं द्वारा संवेदनशील रूप से केस माना जाता है, यह प्रारूप स्ट्रिंग का केस असंवेदनशील संयोजन <code>!DOCTYPE HTML</code> वही है जो इस प्रकार एसजीएमएल पर आधारित एचटीएमएल 4.01 के प्रारूप में पाया जाता है, इस प्रकार <code>DOCTYPE</code> एचटीएमएल4 और एचटीएमएल5 दोनों में औपचारिक प्रारूप को अपर केस लेटर्स में परिभाषित किया गया है, इस प्रकार भले ही लोअर केस और लोअर केस अपर केस के मिश्रण को भी वैध माना जाता है।


[[एक्सएचटीएमएल5]] 5 में <code>DOCTYPE</code> स्ट्रिंग का केस-संवेदी संयोजन होना चाहिए, इसके आधार पर {{code|lang=html|<!DOCTYPE html>}} इस प्रकार हैं कि एक्सएचटीएमएल प्रारूप में सभी एचटीएमएल एलिमेंट नामों को निचले स्थिति में होना आवश्यक है, जिसमें एचटीएमएल 5 के अंदर संदर्भित मौलिक एलिमेंट भी सम्मिलित है। इस प्रकार <code>DOCTYPE</code>. <code>DOCTYPE</code> एक्सएचटीएमएल5 में वैकल्पिक है और बस छोड़ा जा सकता है।<ref>{{cite web | url=http://www.whatwg.org/specs/web-apps/current-work/multipage/the-xhtml-syntax.html#writing-xhtml-documents | title=The XHTML syntax ― HTML5 | publisher=[[Web Hypertext Application Technology Working Group]] | access-date=2009-09-01 | url-status=dead | archive-url=https://web.archive.org/web/20120618203652/http://www.whatwg.org/specs/web-apps/current-work/multipage/the-xhtml-syntax.html | archive-date=2012-06-18 }}</ref> चूंकि, यदि मार्कअप को [[ बहुभाषाविद मार्कअप |बहुभाषाविद मार्कअप]] होना है, तो डाॅकटाइप का उपयोग किया जाना चाहिए।<ref>{{cite web|url=http://www.w3.org/TR/html-polyglot/#doctype | title=Polyglot Markup: HTML-Compatible XHTML Documents | publisher=[[World Wide Web Consortium]] | access-date=2012-01-17}}</ref>
== यह भी देखें ==
== यह भी देखें ==
* दस्तावेज़ प्रकार की परिभाषा में दस्तावेज़ प्रकार की परिभाषा # उदाहरण शामिल हैं
* डॉक्यूमेंट प्रकार की परिभाषा में डॉक्यूमेंट प्रकार की परिभाषा का उदाहरण सम्मिलित हैं।
* [[आरडीएफ]]ए
* [[आरडीएफ]]ए
* [[एक्सएमएल स्कीमा]]
* [[एक्सएमएल स्कीमा]]
Line 157: Line 130:


* [http://www.corelangs.com/html/introduction/doctype.html HTML Doctype overview]
* [http://www.corelangs.com/html/introduction/doctype.html HTML Doctype overview]
* [http://www.w3.org/QA/2002/04/valid-dtd-list.html Recommended DTDs to use in your Web document] - an informative (not normative) W3C Quality Assurance publication
* [http://www.w3.org/QA/2002/04/valid-dtd-list.html Recommended डीटीडीs to use in your Web document] - an informative (not normative) W3C Quality Assurance publication
* [http://www.meyerweb.com/eric/dom/dtype/dtype-grid.html DOCTYPE grid] - another overview table <small>[Last modified 27 November 2006]</small>
* [http://www.meyerweb.com/eric/dom/dtype/dtype-grid.html DOCTYPE grid] - another overview table <small>[Last modified 27 November 2006]</small>
* [http://www.quirksmode.org/css/quirksmode.html Quirks mode and transitional mode]
* [http://www.quirksmode.org/css/quirksmode.html Quirks mode and transitional mode]
* [http://www.quirksmode.org/css/box.html Box model tweaking]
* [http://www.quirksmode.org/css/box.html Box model tweaking]
[[Category: XML- आधारित मानक]]


[[Category: Machine Translated Page]]
[[Category:CS1 English-language sources (en)]]
[[Category:Created On 14/06/2023]]
[[Category:Created On 14/06/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:XML- आधारित मानक]]

Latest revision as of 12:45, 15 September 2023

डॉक्यूमेंट प्रकार की स्टेटमेंट या डाॅकटाइप इस प्रकार के निर्देश है जो विशेषतः एक्सएमएल या एसजीएमएल डॉक्यूमेंट जैसे उदाहरण के लिए, वेब पेज को डॉक्यूमेंट प्रकार की परिभाषा जैसे डीटीडी से जोड़ता है, उदाहरण के लिए एचटीएमएल के विशेष संस्करण की औपचारिक परिभाषा एचटीएमएल 2.0 - 4.0 इसका प्रमुख उदाहरण हैं।[1] इस प्रकार डॉक्यूमेंट के क्रमबद्ध रूप में यह मार्कअप भाषा को इस प्रकार की छोटी स्ट्रिंग के रूप में प्रकट करने में सहायता प्रदान करता है जो विशेष प्रारूप के अनुरूप रहता है।

आधुनिक वेब ब्राउज़र में एचटीएमएल ब्राउज़र इंजन डाॅकटाइप स्नीफिंग या स्विचिंग करते हैं, जिसमें डॉक्यूमेंट में डाॅकटाइप के रूप में कार्य किया जाता है, इसके आधार पर text/html लेआउट मोड निर्धारित करता है, जैसे विचित्र मोड या मानक मोड इत्यादि। इस प्रकार text/html एचटीएमएल5 का क्रमांकन, जो एसजीएमएल-आधारित नहीं है, केवल मोड चयन के लिए डाॅकटाइप का उपयोग करता है। चूंकि वेब ब्राउज़र सामान्य-उद्देश्य वाले डीटीडी-आधारित पार्सर्स के अतिरिक्त विशेष-उद्देश्य वाले एचटीएमएल पार्सर्स के साथ कार्यान्वित किए जाते हैं, इसलिए इस प्रकार के डीटीडीs का उपयोग नहीं करते हैं और इसके लिए प्राप्त होने वाले URL प्रदान किए जाने पर भी उन तक कभी भी पहुंच नहीं पाते हैं। इसके आधार पर डाॅकटाइप को एचटीएमएल5 में अधिकांशतः आवश्यक हेडर के रूप में बनाए रखा जाता है, जो सामान्य ब्राउज़रों में मानक मोड को ट्रिगर करने के लिए होता है।[2]

प्रारूप

डॉक्यूमेंट प्रकार की स्टेटमेंट के लिए सामान्य प्रारूप इस प्रकार है:

<!DOCTYPE root-element PUBLIC "/quotedFPI/" "/quotedURI/" [ 
<!-- internal subset declarations -->
]>

या

<!DOCTYPE root-element SYSTEM "/quotedURI/" [ 
<!-- internal subset declarations -->
]>

डॉक्यूमेंट प्रकार का नाम

<!DOCTYPE प्रारूप के बाद इसे मुख्य प्रारूप से अलग कर दिया जाता है[3]: 403–404  जैसे रिक्त स्थान,[3]: 297–298, 372  या (एक्सएमएल को छोड़कर) टिप्पणियों को दोगुने हाइफन-ऋण द्वारा खोला और बंद कर दिया जाता हैं,[3]: 372, 391  इसके पश्चात डॉक्यूमेंट प्रकार का नाम[3]: 403–404  अर्थात मूल एलिमेंट का नाम जो डीटीडी से उतरने वाले पेड़ों पर लागू होता है। इसके आधार पर एक्सएमएल में, मूल एलिमेंट जो डॉक्यूमेंट का प्रतिनिधित्व करता है, डॉक्यूमेंट में पहला एलिमेंट है। उदाहरण के लिए, एक्सएचटीएमएल में, मूल एलिमेंट <html> है, इस प्रकार पहला एलिमेंट ओपेन किया जाता है, डॉकटाइप स्टेटमेंट के बाद इसो बंद कर दिया जाता हैं।

चूंकि बाहरी पहचानकर्ता और आंतरिक उपसमुच्चय दोनों वैकल्पिक हैं,[3]: 403–404  डॉक्यूमेंट प्रकार का नाम ही एकमात्र सूचना है जिसे डाॅकटाइप स्टेटमेंट में देना अनिवार्य है।

एक्सटर्नल आइडेंटिफायर

डाॅकटाइप स्टेटमेंट में वैकल्पिक रूप से एसजीएमएल में औपचारिक सार्वजनिक पहचानकर्ता और सिस्टम पहचानकर्ता सम्मिलित हो सकते हैं, मूल एलिमेंट नाम और रिक्त स्थान जैसे प्रारूप को अलग करने के पश्चात किसी भी आंतरिक उपसमुच्चय से पहले इसका उपयोग करते हैं।[3]: 403–404  इस प्रकार यह या तो कीवर्ड से प्रारंभ होता है, या इसके अतिरिक्त SYSTEM या कीवर्ड PUBLIC,[3]: 379  यह निर्दिष्ट करना कि क्या डीटीडी को सार्वजनिक पहचानकर्ता का उपयोग करके निर्दिष्ट किया जाता है, जो इसे सार्वजनिक पाठ के रूप में पहचानता है, अर्थात कई कंप्यूटर सिस्टम के बीच साझा किया गया है (भले ही यह आम जनता के लिए उपलब्ध उपलब्ध सार्वजनिक पाठ है, या अनुपलब्ध सार्वजनिक पाठ केवल के भीतर साझा किया गया है।[3]: 180–182  इस प्रकार यदि सार्वजनिक कीवर्ड का उपयोग किया जाता है, तो इसके पश्चात दोहरे या एकल ASCII उद्धरण चिह्नों में संलग्न सार्वजनिक पहचानकर्ता होता है। इस प्रकार सार्वजनिक पहचानकर्ता भंडारण स्थान की ओर इंगित नहीं करता है, बल्कि विशिष्ट निश्चित स्ट्रिंग है जिसे तालिका में देखा जा सकता है (जैसे एसजीएमएल कैटलॉग);[3]: 180  चूंकि, कुछ (अपितु सभी नहीं) एसजीएमएल प्रोफाइल में, सार्वजनिक पहचानकर्ता को औपचारिक सार्वजनिक पहचानकर्ता (एफपीआई) नामक विशेष प्रारूप का उपयोग करके बनाया जाना चाहिए, जो इसके अधिकार को निर्दिष्ट करता है और यह भी बताता है कि यह पब्लिक के लिए उपलब्ध है या नहीं इसे भी प्रतिउत्तर में देखा जाता हैं।[3]: 182–183 

सार्वजनिक पहचानकर्ता यदि सम्मिलित है या SYSTEM कीवर्ड प्रयुक्त होता है और, एक्सएमएल के लिए इसे अवश्य ही[4] सिस्टम आइडेंटिफ़ायर द्वारा अनुसरण किया जाना आवश्यक होता हैं, जो इसी प्रकार उद्धरण चिह्नों से संलग्न होता है। चूंकि इस प्रकार की सामान्य एसजीएमएल में सिस्टम पहचानकर्ताओं की व्याख्या पूर्ण रूप से सिस्टम पर निर्भर रहता है,और फ़ाइल नाम, डेटाबेस कुंजी, ऑफ़सेट, या कुछ और हो सकती है,[3]: 378  इस प्रकार एक्सएमएल के लिए आवश्यक है कि वे URL उपलब्ध हों,[5] उदाहरण के लिए, एक्सएचटीएमएल 1.1 के लिए FPI है "-//W3C//DTD XHTML 1.1//EN" और, आवश्यकताओं के आधार पर एक्सएचटीएमएल 1.1 के लिए 3 संभावित सिस्टम पहचानकर्ता उपलब्ध हैं। उनमें से URL संदर्भ है "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" इसका अर्थ यह है कि एक्सएमएल पार्सर को डीटीडी को सिस्टम विशिष्ट प्रक्रिया में ढूंढना चाहिए, इस स्थिति में डबल कोट चिह्नों में संलग्न डीटीडी के यूआरएल संदर्भ के माध्यम से उपयुक्त होता हैं।

एक्सएचटीएमएल डॉक्यूमेंटों में, डाॅकटाइप स्टेटमेंट को सदैव सिस्टम पहचानकर्ता को स्पष्ट रूप से निर्दिष्ट करना चाहिए। दूसरी ओर एचटीएमएल जैसे एसजीएमएल-आधारित डॉक्यूमेंटों में, दिए गए सार्वजनिक पहचानकर्ता से स्वचालित रूप से उपयुक्त सिस्टम पहचानकर्ता का अनुमान लगाया जा सकता है। इस प्रकार यह मुख्य रूप से उदाहरण के लिए एफपीआई को सिस्टम आइडेंटिफ़ायर में हल करने वाली कैटलॉग फ़ाइल के माध्यम से किया जाना चाहिए।[6] SYSTEM}EM कीवर्ड (एक्सएमएल को छोड़कर) का उपयोग सिस्टम पहचानकर्ता के बिना भी किया जा सकता है, यह दर्शाता है कि डीटीडी सम्मिलित है अपितु डॉक्यूमेंट प्रकार के नाम से अनुमान लगाया जाना चाहिए।[3]: 378 

आंतरिक सबसेट

डाॅकटाइप स्टेटमेंट का अंतिम, वैकल्पिक, भाग शाब्दिक वर्ग कोष्ठकों ([]) से घिरा हुआ है, और इसको आंतरिक उपसमुच्चय कहा जाता है। इसका उपयोग Document_type_definition#Markup स्टेटमेंटओं को जोड़ने/संपादित करने या सार्वजनिक कीवर्ड व्यवहारों को जोड़ने/संपादित करने के लिए किया जा सकता है।[7] इस प्रकार यह संभव है, अपितु असामान्य है, इसके कारण यह पूरे डीटीडी इन-लाइन को डॉक्यूमेंट में, आंतरिक उपसमुच्चय के भीतर, बाहरी फ़ाइल से संदर्भित करने के अतिरिक्त सम्मिलित किया जाता हैं।[3]: 402  इसके विपरीत, आंतरिक उपसमुच्चय को कभी-कभी साधारण एसजीएमएल प्रोफाइलों में वर्जित किया जाता है, विशेष रूप से यह मौलिक रूप से एचटीएमएल पार्सर्स के लिए जो पूर्ण एसजीएमएल पार्सर को लागू नहीं करते हैं।

यदि आंतरिक डीटीडी सबसेट और बाहरी पहचानकर्ता दोनों को डाॅकटाइप स्टेटमेंट में सम्मिलित किया जाता है, तो आंतरिक सबसेट को पहले संसाधित किया जाता है, और इस प्रकार बाहरी डीटीडी सबसेट को इस प्रकार माना जाता है जैसे कि इसे आंतरिक सबसेट के अंत में सम्मिलित किया गया हो। चूँकि इस प्रकार पहले की परिभाषाएँ डीटीडी में बाद की परिभाषाओं पर वरीयता लेती हैं, इस प्रकार यह आंतरिक सबसेट को बाहरी सबसेट में परिभाषाओं को ओवरराइड करने की अनुमति देती है।[3]: 402–403 

उदाहरण

वर्ल्ड वाइड वेब पेज की पहली पंक्ति निम्नानुसार पढ़ी जा सकती है:

<!DOCTYPE html public
   -//W3C//DTD XHTML 1.0 ट्रांज़िशनल//EN
   http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd >
<html lang= ar dir= ltr xmlns= http://www.w3.org/1999/xhtml >

एक्सएचटीएमएल के लिए इस डॉक्यूमेंट प्रकार की स्टेटमेंट में डीटीडी का संदर्भ सम्मिलित है, जिसका सार्वजनिक पहचानकर्ता है -//W3C//DTD XHTML 1.0 Transitional//EN और जिसका सिस्टम आइडेंटिफायर है http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.डीटीडी, संदर्भित बाहरी इकाई का पता लगाने के लिए इकाई रिज़ॉल्वर या तो पहचानकर्ता का उपयोग कर सकता है। इस उदाहरण या अगले उदाहरण में कोई आंतरिक उपसमुच्चय नहीं दर्शाया गया है। इस प्रकार मूल एलिमेंट घोषित किया गया है html और, इसलिए यह इस उदाहरण में और अगले वाले भी doctype स्टेटमेंट के अंत के बाद खोला जाने वाला पहला टैग है। इस प्रकार एचटीएमएल टैग डाॅकटाइप स्टेटमेंट का हिस्सा नहीं है, अपितु इस प्रकार अभिविन्यास उद्देश्यों के लिए उदाहरणों में सम्मिलित किया गया है।

सामान्य डीटीडी

कुछ सामान्य डीटीडी को सूचियों में डाल दिया गया है। इस प्रकार W3C ने वेब में सामान्यतः उपयोग किए जाने वाले डीटीडीs की सूची तैयार की है, जिसमें नंगे एचटीएमएल5 डीटीडी, पुराने एक्सएचटीएमएल/एचटीएमएल डीटीडी, सामान्य एम्बेडेड एक्सएमएल पर आधारित स्वरूपों के डीटीडी जैसे मैथ एमएल और स्केलेबल वेक्टर ग्राफिक्स के साथ-साथ मिश्रित डॉक्यूमेंट सम्मिलित हैं जो उन स्वरूपों को जोड़ते हैं।[8] इस प्रकार W3C एचटीएमएल5 और इसके संबंधित वाटडब्ल्यूजी संस्करण दोनों ही ब्राउज़रों को केवल कुछ एफपीआई के एक्सएचटीएमएल डीटीडी को स्वीकार करने और बाहरी डीटीडी फ़ाइलों को लाने पर आंतरिक तर्क का उपयोग करने को प्राथमिकता देने का विचार रखते हैं। इस प्रकार यह आगे एक्सएचटीएमएल के लिए आंतरिक डीटीडी निर्दिष्ट करता है, जो केवल इस प्रकार एचटीएमएल इकाई नामों की सूची है।[9]: §13.2 

एचटीएमएल 4.01 डीटीडी

सख्त डीटीडी प्रस्तुतिकरण मार्कअप को इस तर्क के साथ अनुमति नहीं देता है कि इसके अतिरिक्त कैस्केडिंग स्टाइल शीट्स का उपयोग किया जाना चाहिए। इसके कारण डीटीडी को इस प्रकार प्रदर्शित करते है:

<!DOCTYPE HTML public -//W3C//DTD HTML 4.01//EN
 http://www.w3.org/TR/html4/strict.डीटीडी >
<HTML>

संक्रमणकालीन डीटीडी कुछ पुराने पब्लिक और विशेषताओं को अनुमति देता है जिन्हें बहिष्कृत कर दिया गया है:

<!DOCTYPE HTML Public -//W3C//DTD HTML 4.01 Transitional//EN
 http://www.w3.org/TR/html4/loose.DTD >
<HTML>

यदि फ़्रेमिंग (वर्ल्ड वाइड वेब) का उपयोग किया जाता है, तो इसके अतिरिक्त फ़्रेमसेट डीटीडी का उपयोग किया जाना चाहिए, जैसे:

<!DOCTYPE HTML Public -//W3C//DTD HTML 4.01 frameset//EN
 http://www.w3.org/TR/html4/frameset.DTD >
<HTML>

एक्सएचटीएमएल 1.0 डीटीडी

एक्सएचटीएमएल के डीटीडी भी संक्रमणकालीन और फ्रेमसेट हैं।

एक्सएचटीएमएल डीटीडी मुख्य रूप से बहिष्कृत टैग द्वारा समर्थित नहीं होती हैं और इस प्रकार कोड को एक्सएमएल विशिष्टता के अनुसार सही ढंग से लिखा जाना चाहिए।

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.DTD">
 <html xmlns="http://www.w3.org/1999/xhtml" XML:lang="en" lang="en">

एक्सएचटीएमएल ट्रांजिशनल डीटीडी एक्सएचटीएमएल डीटीडी केसमान है, अपितु इसके लिए doctype html टैग की अनुमति लेते है।

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.DTD">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

एक्सएचटीएमएल फ्रेमसेट डीटीडी एकमात्र एक्सएचटीएमएल डीटीडी है जो फ्रेमसेट का समर्थन करता है। यहाँ पर डीटीडी नीचे है।

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.DTD">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

एक्सएचटीएमएल 1.1 डीटीडी

एक्सएचटीएमएल 1.1 एक्सएचटीएमएल का सबसे वर्तमान अंतिम संशोधन है, जो एक्सएचटीएमएल मॉड्यूलरीकरण के लिए समर्थन प्रस्तुत करता है। इस प्रकार एक्सएचटीएमएल 1.1 में एक्सएचटीएमएल 1.0 स्ट्रिक्ट की कठोरता है।

<!DOCTYPE html public
   -//W3C//DTD XHTML 1.1//EN
   http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd >

एक्सएचटीएमएल बेसिक डीटीडी

एक्सएचटीएमएल बेसिक 1.0

<!DOCTYPE html PUBLIC
  "-//W3C//DTD XHTML Basic 1.0//EN"
  "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.DTD">

XHTML Basic 1.1

<!DOCTYPE html PUBLIC
  "-//W3C//DTD XHTML Basic 1.1//EN"
  "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.DTD">

एचटीएमएल5 डीटीडी-रहित डाॅकटाइप

एचटीएमएल5 का उपयोग करता है DOCTYPE यूआरएल या एफपीआई के रूप में डीटीडी के संदर्भ में इसकी कमी के कारण स्टेटमेंट बहुत कम है। इसमें केवल डॉक्यूमेंट के मूल एलिमेंट का टैग HTML है, [10] विनिर्देशन के शब्दों में इसे इस प्रकार लिख सकते हैं:

<!DOCTYPE html>, case-insensitively.

यूआरआई या एफपीआई स्ट्रिंग की कमी के अपवाद के साथ एफपीआई स्ट्रिंग को वैधकर्ताओं द्वारा संवेदनशील रूप से केस माना जाता है, यह प्रारूप स्ट्रिंग का केस असंवेदनशील संयोजन !DOCTYPE HTML वही है जो इस प्रकार एसजीएमएल पर आधारित एचटीएमएल 4.01 के प्रारूप में पाया जाता है, इस प्रकार DOCTYPE एचटीएमएल4 और एचटीएमएल5 दोनों में औपचारिक प्रारूप को अपर केस लेटर्स में परिभाषित किया गया है, इस प्रकार भले ही लोअर केस और लोअर केस अपर केस के मिश्रण को भी वैध माना जाता है।

एक्सएचटीएमएल5 5 में DOCTYPE स्ट्रिंग का केस-संवेदी संयोजन होना चाहिए, इसके आधार पर <!DOCTYPE html> इस प्रकार हैं कि एक्सएचटीएमएल प्रारूप में सभी एचटीएमएल एलिमेंट नामों को निचले स्थिति में होना आवश्यक है, जिसमें एचटीएमएल 5 के अंदर संदर्भित मौलिक एलिमेंट भी सम्मिलित है। इस प्रकार DOCTYPE. DOCTYPE एक्सएचटीएमएल5 में वैकल्पिक है और बस छोड़ा जा सकता है।[11] चूंकि, यदि मार्कअप को बहुभाषाविद मार्कअप होना है, तो डाॅकटाइप का उपयोग किया जाना चाहिए।[12]

यह भी देखें

संदर्भ

  1. HTML2 HTML3 HTML4
  2. "The HTML syntax ― HTML5". Retrieved 2011-06-05.
  3. 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 3.12 3.13 Goldfarb, Charles F. (1990). एसजीएमएल हैंडबुक. Oxford: Clarendon Press. ISBN 0-19-853737-9.
  4. Walsh, Norman (2001-08-06). "एक्सएमएल कैटलॉग". The Organization for the Advancement of Structured Information Standards (OASIS).
  5. Clark, James (1997-12-15). "एसजीएमएल और एक्सएमएल की तुलना". W3C. NOTE-sgml-xml-971215.
  6. "DOCTYPE घोषणा". Archived from the original on 2011-08-14. Retrieved 2011-09-09.
  7. "DOCTYPE घोषणा". msdn.microsoft.com.
  8. "W3C QA - Recommended list of Doctype declarations you can use in your Web document". www.w3.org (in English). Retrieved 22 March 2019.
  9. "एचटीएमएल मानक". html.spec.whatwg.org. Retrieved 22 March 2019.
  10. "The HTML syntax ― HTML5". Web Hypertext Application Technology Working Group. Retrieved 2011-06-05. 3. A string that is an ASCII case-insensitive match for the string "DOCTYPE". 5. A string that is an ASCII case-insensitive match for the string "HTML".
  11. "The XHTML syntax ― HTML5". Web Hypertext Application Technology Working Group. Archived from the original on 2012-06-18. Retrieved 2009-09-01.
  12. "Polyglot Markup: HTML-Compatible XHTML Documents". World Wide Web Consortium. Retrieved 2012-01-17.

बाहरी संबंध