मानक सामान्यीकृत मार्कअप भाषा: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 54: Line 54:
एसजीएमएल (ईएनआर+डब्लूडब्लूडब्लू) दो प्रकार की वैधता को परिभाषित करता है। आईएसओ 8879 की संशोधित नियमो और परिभाषाओं के अनुसार (सार्वजनिक ड्राफ्ट से<ref>{{cite web| url = http://www1.y12.doe.gov/capabilities/sgml/wg8/document/1929.htm| title = Terms and Definitions of ISO 8879 draft}}</ref>):
एसजीएमएल (ईएनआर+डब्लूडब्लूडब्लू) दो प्रकार की वैधता को परिभाषित करता है। आईएसओ 8879 की संशोधित नियमो और परिभाषाओं के अनुसार (सार्वजनिक ड्राफ्ट से<ref>{{cite web| url = http://www1.y12.doe.gov/capabilities/sgml/wg8/document/1929.htm| title = Terms and Definitions of ISO 8879 draft}}</ref>):


<ब्लॉककोट>


एक अनुरूप एसजीएमएल दस्तावेज़ या तो प्रकार-वैध एसजीएमएल दस्तावेज़, टैग-वैध एसजीएमएल दस्तावेज़, या दोनों होना चाहिए। नोट: उपयोगकर्ता किसी दस्तावेज़ पर अतिरिक्त बाधाओं को प्रयुक्त करना चाह सकता है, जैसे कि दस्तावेज़ का उदाहरण एकीकृत रूप से संग्रहीत है या इकाई संदर्भों से मुक्त है।
एक अनुरूप एसजीएमएल दस्तावेज़ या तो प्रकार-वैध एसजीएमएल दस्तावेज़, टैग-वैध एसजीएमएल दस्तावेज़, या दोनों होना चाहिए। नोट: उपयोगकर्ता किसी दस्तावेज़ पर अतिरिक्त बाधाओं को प्रयुक्त करना चाह सकता है, जैसे कि दस्तावेज़ का उदाहरण एकीकृत रूप से संग्रहीत है या इकाई संदर्भों से मुक्त है।


'''</ब्लॉककोट>'''


एक '''प्रकार-वैध''' एसजीएमएल दस्तावेज़ को मानक के रूप में परिभाषित किया गया है
एक '''प्रकार-वैध''' एसजीएमएल दस्तावेज़ को मानक के रूप में परिभाषित किया गया है


'''<ब्लॉककोट>'''


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


'''</ब्लॉककोट>'''


एक '''टैग-वैध''' एसजीएमएल दस्तावेज़ को मानक के रूप में परिभाषित किया गया है
एक '''टैग-वैध''' एसजीएमएल दस्तावेज़ को मानक के रूप में परिभाषित किया गया है


'''<ब्लॉककोट>'''


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


=== शब्दावली ===
=== शब्दावली ===
एक्सएमएल का समर्थन करने के लिए एसजीएमएल (ईएनआर+डब्लूडब्लूडब्लू) में टैग-वैधता की प्रारंभ की गई थी, जो बिना डॉक्टाइप घोषणा वाले दस्तावेज़ों की अनुमति देता है, किंतु जिन्हें व्याकरण के बिना पार्स किया जा सकता है, या ऐसे दस्तावेज़ जिनमें डॉक्टाइप घोषणा है, जो दस्तावेज़ में कोई [[XML Infoset|एक्सएमएल इन्फोसेट]] योगदान नहीं देता है। मानक इसे पूरी तरह से टैग किया गया कहता है। एकीकृत रूप से संग्रहीत एक्सएमएल आवश्यकता को दर्शाता है कि तत्व उसी इकाई में समाप्त होते हैं जिसमें वे प्रारंभ हुए थे। संदर्भ-मुक्त [[HTML|एचटीएमएल]] आवश्यकता को दर्शाता है कि इकाई संदर्भ विशेष वर्णों के लिए हैं और इसमें मार्कअप नहीं है। एसजीएमएल वैधता टिप्पणी, विशेष रूप से टिप्पणी जो 1997 से पहले की गई थी या जो एसजीएमएल (ईएनआर+डब्लूडब्लूडब्लू) से अनभिज्ञ थी, केवल प्रकार-वैधता को आवरण करती है।
एक्सएमएल का समर्थन करने के लिए एसजीएमएल (ईएनआर+डब्लूडब्लूडब्लू) में टैग-वैधता की प्रारंभ की गई थी, जो बिना डॉक्टाइप घोषणा वाले दस्तावेज़ों की अनुमति देता है, किंतु जिन्हें व्याकरण के बिना पार्स किया जा सकता है, या ऐसे दस्तावेज़ जिनमें डॉक्टाइप घोषणा है, जो दस्तावेज़ में कोई [[XML Infoset|एक्सएमएल इन्फोसेट]] योगदान नहीं देता है। मानक इसे पूरी तरह से टैग किया गया कहता है। एकीकृत रूप से संग्रहीत एक्सएमएल आवश्यकता को दर्शाता है कि तत्व उसी इकाई में समाप्त होते हैं जिसमें वे प्रारंभ हुए थे। संदर्भ-मुक्त [[HTML|एचटीएमएल]] आवश्यकता को दर्शाता है कि इकाई संदर्भ विशेष वर्णों के लिए हैं और इसमें मार्कअप नहीं है। एसजीएमएल वैधता टिप्पणी, विशेष रूप से टिप्पणी जो 1997 से पहले की गई थी या जो एसजीएमएल (ईएनआर+डब्लूडब्लूडब्लू) से अनभिज्ञ थी, केवल प्रकार-वैधता को आवरण करती है।


वैधता पर एसजीएमएल जोर सामान्यीकृत मार्कअप की आवश्यकता का समर्थन करता है कि मार्कअप कठोर होना चाहिए। (आईएसओ 8879 ए.1)
वैधता पर एसजीएमएल जोर सामान्यीकृत मार्कअप की आवश्यकता का समर्थन करता है कि मार्कअप कठोर होना चाहिए। (आईएसओ 8879 ए.1)
Line 84: Line 77:
एक एसजीएमएल दस्तावेज़ के तीन भाग हो सकते हैं:
एक एसजीएमएल दस्तावेज़ के तीन भाग हो सकते हैं:
# एसजीएमएल घोषणा,
# एसजीएमएल घोषणा,
# प्रस्तावना जिसमें विभिन्न मार्कअप घोषणाओं के साथ डॉक्टाइप घोषणा सम्मिलित है जो साथ [[दस्तावेज़ प्रकार परिभाषा]] (डीटीडी) बनाती है, और
# प्रस्तावना जिसमें विभिन्न मार्कअप घोषणाओं के साथ डॉक्टाइप घोषणा सम्मिलित है जो साथ [[दस्तावेज़ प्रकार परिभाषा]] (डीटीडी) बनाती है, और
# स्वयं उदाहरण, जिसमें शीर्षतम तत्व और उसकी पदार्थ सम्मिलित है।
# स्वयं उदाहरण, जिसमें शीर्षतम तत्व और उसकी पदार्थ सम्मिलित है।


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


चूँकि पूर्ण एसजीएमएल निहित मार्कअप और कुछ अन्य प्रकार के टैग की अनुमति देता है, एक्सएमएल विनिर्देश (s4.3.1) कहता है:
चूँकि पूर्ण एसजीएमएल निहित मार्कअप और कुछ अन्य प्रकार के टैग की अनुमति देता है, एक्सएमएल विनिर्देश (s4.3.1) कहता है:
Line 93: Line 86:
{{quote|प्रत्येक एक्सएमएल दस्तावेज़ में तार्किक और भौतिक दोनों संरचना होती है। भौतिक रूप से, दस्तावेज़ इकाइयों से बना होता है जिन्हें संस्थाएँ कहा जाता है। एक इकाई अन्य संस्थाओं को दस्तावेज़ में सम्मिलित  करने के लिए संदर्भित कर सकती है। एक दस्तावेज़ "रूट" या दस्तावेज़ इकाई में प्रारंभ होता है। तार्किक रूप से, दस्तावेज़ घोषणाओं, तत्वों, टिप्पणियों, चरित्र संदर्भों और [[प्रसंस्करण निर्देश]] से बना है, जो सभी दस्तावेज़ में स्पष्ट मार्कअप द्वारा इंगित किए गए हैं।}}
{{quote|प्रत्येक एक्सएमएल दस्तावेज़ में तार्किक और भौतिक दोनों संरचना होती है। भौतिक रूप से, दस्तावेज़ इकाइयों से बना होता है जिन्हें संस्थाएँ कहा जाता है। एक इकाई अन्य संस्थाओं को दस्तावेज़ में सम्मिलित  करने के लिए संदर्भित कर सकती है। एक दस्तावेज़ "रूट" या दस्तावेज़ इकाई में प्रारंभ होता है। तार्किक रूप से, दस्तावेज़ घोषणाओं, तत्वों, टिप्पणियों, चरित्र संदर्भों और [[प्रसंस्करण निर्देश]] से बना है, जो सभी दस्तावेज़ में स्पष्ट मार्कअप द्वारा इंगित किए गए हैं।}}


मूलभूत आधुनिक एसजीएमएल सिंटैक्स पर परिचयात्मक जानकारी के लिए, एक्सएमएल देखें। निम्नलिखित पदार्थ एक्सएमएल में नहीं सुविधाओं पर केंद्रित है और एसजीएमएल सिंटैक्स का व्यापक सारांश नहीं है।
मूलभूत आधुनिक एसजीएमएल सिंटैक्स पर परिचयात्मक जानकारी के लिए, एक्सएमएल देखें। निम्नलिखित पदार्थ एक्सएमएल में नहीं सुविधाओं पर केंद्रित है और एसजीएमएल सिंटैक्स का व्यापक सारांश नहीं है।


=== वैकल्पिक विशेषताएं ===
=== वैकल्पिक विशेषताएं ===
Line 113: Line 106:


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


==== ओमिटटैग ====
==== ओमिटटैग ====
Line 122: Line 115:
# टैग को संदर्भ द्वारा स्पष्ट रूप से अनुमान लगाया जा सकता है।
# टैग को संदर्भ द्वारा स्पष्ट रूप से अनुमान लगाया जा सकता है।


उदाहरण के लिए, यदि ओमितटैग YES को एसजीएमएल घोषणा (ओमितटैग सुविधा को सक्षम करने) में निर्दिष्ट किया गया है, और डीटीडी में निम्नलिखित घोषणाएँ सम्मिलित हैं:
उदाहरण के लिए, यदि ओमितटैग YES को एसजीएमएल घोषणा (ओमितटैग सुविधा को सक्षम करने) में निर्दिष्ट किया गया है, और डीटीडी में निम्नलिखित घोषणाएँ सम्मिलित हैं:
<syntaxhighlight lang="dtd">
<syntaxhighlight lang="dtd">
<!ELEMENT chapter - - (title, section+)>
<!ELEMENT chapter - - (title, section+)>
Line 148: Line 141:
और अभी भी मान्य मार्कअप का प्रतिनिधित्व करेगा।
और अभी भी मान्य मार्कअप का प्रतिनिधित्व करेगा।


नोट: ओमितटैग सुविधा उन तत्वों की टैगिंग से असंबंधित है जिनकी घोषित पदार्थ डीटीडी में परिभाषित <code>EMPTY</code> है:
नोट: ओमितटैग सुविधा उन तत्वों की टैगिंग से असंबंधित है जिनकी घोषित पदार्थ डीटीडी में परिभाषित <code>EMPTY</code> है:
<syntaxhighlight lang="dtd">
<syntaxhighlight lang="dtd">
<!ELEMENT image - o EMPTY>
<!ELEMENT image - o EMPTY>
Line 165: Line 158:
</QUOTE>
</QUOTE>
</syntaxhighlight>
</syntaxhighlight>
एसजीएमएल मार्कअप भाषाओं की एक विशेषता "अनुमानित खाली टैगिंग" है, जैसे <code>&lt;/&gt;</code> में <code>&lt;ITALICS&gt;this&lt;/&gt;</code> निकटतम पिछले पूर्ण प्रारंभ टैग से अपना मूल्य "विरासत" प्राप्त करता है, जो, इस उदाहरण में,<code>&lt;ITALICS&gt;</code> है (दूसरे शब्दों में, यह सबसे वर्तमान ही में खोले गए आइटम को बंद कर देता है)। इस प्रकार यह अभिव्यक्ति <code>&lt;ITALICS&gt;this&lt;/ITALICS&gt;</code>.के समतुल्य है।
एसजीएमएल मार्कअप भाषाओं की एक विशेषता "अनुमानित खाली टैगिंग" है, जैसे <code>&lt;/&gt;</code> में <code>&lt;ITALICS&gt;this&lt;/&gt;</code> निकटतम पिछले पूर्ण प्रारंभ टैग से अपना मूल्य "विरासत" प्राप्त करता है, जो, इस उदाहरण में,<code>&lt;ITALICS&gt;</code> है (दूसरे शब्दों में, यह सबसे वर्तमान ही में खोले गए आइटम को बंद कर देता है)। इस प्रकार यह अभिव्यक्ति <code>&lt;ITALICS&gt;this&lt;/ITALICS&gt;</code>.के समतुल्य है।


==== नेट ====
==== नेट ====
Line 171: Line 164:


==== अन्य विशेषताएं ====
==== अन्य विशेषताएं ====
इसके अतिरिक्त, शॉर्टटैग नेटेनेबल इम्मेडनेट सुविधा खाली टेक्स्ट मान के आसपास के टैग को छोटा करने की अनुमति देती है, किंतु पूरे टैग को छोटा करने से मना करती है:
इसके अतिरिक्त, शॉर्टटैग नेटेनेबल इम्मेडनेट सुविधा खाली टेक्स्ट मान के आसपास के टैग को छोटा करने की अनुमति देती है, किंतु पूरे टैग को छोटा करने से मना करती है:


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
Line 183: Line 176:
जिसमें पहला [[स्लैश (विराम चिह्न)|स्लैश]] ( / ) नेट-सक्षम "स्टार्ट-टैग क्लोज़" (एनईएसटीसी) के लिए है, और दूसरा स्लैश नेट के लिए है। ध्यान दें: एक्सएमएल एनईएसटीसी को / के साथ और नेट को > (कोण वाले ब्रैकेट) के साथ परिभाषित करता है - इसलिए एक्सएमएल में संबंधित निर्माण <QUOTE/> के रूप में दिखाई देता है।
जिसमें पहला [[स्लैश (विराम चिह्न)|स्लैश]] ( / ) नेट-सक्षम "स्टार्ट-टैग क्लोज़" (एनईएसटीसी) के लिए है, और दूसरा स्लैश नेट के लिए है। ध्यान दें: एक्सएमएल एनईएसटीसी को / के साथ और नेट को > (कोण वाले ब्रैकेट) के साथ परिभाषित करता है - इसलिए एक्सएमएल में संबंधित निर्माण <QUOTE/> के रूप में दिखाई देता है।


तीसरी विशेषता 'समान पंक्ति पर पाठ' है, जिससे मार्कअप आइटम को लाइन-एंड के साथ समाप्त किया जा सकता है; शीर्षकों के लिए विशेष रूप से उपयोगी और ऐसे, जिनमें शॉर्टरेफ या डेटाटैग न्यूनीकरण का उपयोग करने की आवश्यकता होती है। उदाहरण के लिए, यदि डीटीडी में निम्नलिखित घोषणाएँ सम्मिलित हैं:
तीसरी विशेषता 'समान पंक्ति पर पाठ' है, जिससे मार्कअप आइटम को लाइन-एंड के साथ समाप्त किया जा सकता है; शीर्षकों के लिए विशेष रूप से उपयोगी और ऐसे, जिनमें शॉर्टरेफ या डेटाटैग न्यूनीकरण का उपयोग करने की आवश्यकता होती है। उदाहरण के लिए, यदि डीटीडी में निम्नलिखित घोषणाएँ सम्मिलित हैं:


<syntaxhighlight lang="dtd">
<syntaxhighlight lang="dtd">
Line 223: Line 216:
{{quote|दस्तावेज़ों का वह वर्ग जो किसी दिए गए एसजीएमएल दस्तावेज़ [[व्याकरण]] के अनुरूप होता है, एक LL(1) भाषा बनाता है। ... हालाँकि, SGML दस्तावेज़ व्याकरण स्वयं LL(1) व्याकरण नहीं हैं।}}
{{quote|दस्तावेज़ों का वह वर्ग जो किसी दिए गए एसजीएमएल दस्तावेज़ [[व्याकरण]] के अनुरूप होता है, एक LL(1) भाषा बनाता है। ... हालाँकि, SGML दस्तावेज़ व्याकरण स्वयं LL(1) व्याकरण नहीं हैं।}}


एसजीएमएल मानक एसजीएमएल को औपचारिक डेटा संरचनाओं जैसे पार्स ट्री के साथ परिभाषित नहीं करता है; चूँकि एसजीएमएल दस्तावेज़ भौतिक संचयन इकाइयों के [[निर्देशित ग्राफ]] (आरडीएजी) से बना होता है जिसे एसजीएमएल इकाई के रूप में जाना जाता है, जिसे तत्वों के रूप में ज्ञात संरचनात्मक इकाइयों के आरडीएजी में पार्स किया जाता है। भौतिक ग्राफ को इकाई वृक्ष के रूप में शिथिल रूप से चित्रित किया गया है, किंतु संस्थाएँ कई बार दिखाई दे सकती हैं। इसके अतिरिक्त , संरचना ग्राफ को भी तत्व वृक्ष के रूप में देखा जाता है, किंतु आईडी / आईडीआरईएफ मार्कअप इच्छानुसार चापों की अनुमति देता है।
एसजीएमएल मानक एसजीएमएल को औपचारिक डेटा संरचनाओं जैसे पार्स ट्री के साथ परिभाषित नहीं करता है; चूँकि एसजीएमएल दस्तावेज़ भौतिक संचयन इकाइयों के [[निर्देशित ग्राफ]] (आरडीएजी) से बना होता है जिसे एसजीएमएल इकाई के रूप में जाना जाता है, जिसे तत्वों के रूप में ज्ञात संरचनात्मक इकाइयों के आरडीएजी में पार्स किया जाता है। भौतिक ग्राफ को इकाई वृक्ष के रूप में शिथिल रूप से चित्रित किया गया है, किंतु संस्थाएँ कई बार दिखाई दे सकती हैं। इसके अतिरिक्त , संरचना ग्राफ को भी तत्व वृक्ष के रूप में देखा जाता है, किंतु आईडी / आईडीआरईएफ मार्कअप इच्छानुसार चापों की अनुमति देता है।


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


एसजीएमएल मानक इसे नक्शों और पहचान मोड (s9.6.1) के संदर्भ में वर्णित करता है। प्रत्येक इकाई, और प्रत्येक तत्व, संबद्ध अंकन या घोषित पदार्थ प्रकार हो सकता है, जो उस इकाई और तत्व में पहचाने जाने वाले संदर्भों और टैगों के प्रकार को निर्धारित करता है। इसके अतिरिक्त, प्रत्येक तत्व में संबद्ध सीमांकक मानचित्र (और लघु संदर्भ मानचित्र) हो सकता है, जो यह निर्धारित करता है कि कौन से वर्णों को संदर्भ में सीमांकक के रूप में माना जाता है। एसजीएमएल मानक मान्यता मोड के बीच स्विच करने वाली [[राज्य मशीन|स्थित मशीन]] के रूप में पार्सिंग की विशेषता है। पार्सिंग के समय, लेक्सिकल विश्लेषण को कॉन्फ़िगर करने वाले मानचित्रों का संग्रह होता है, जबकि लेक्सिकल विश्लेषण मान्यता मोड से संबंधित होता है।
एसजीएमएल मानक इसे नक्शों और पहचान मोड (s9.6.1) के संदर्भ में वर्णित करता है। प्रत्येक इकाई, और प्रत्येक तत्व, संबद्ध अंकन या घोषित पदार्थ प्रकार हो सकता है, जो उस इकाई और तत्व में पहचाने जाने वाले संदर्भों और टैगों के प्रकार को निर्धारित करता है। इसके अतिरिक्त, प्रत्येक तत्व में संबद्ध सीमांकक मानचित्र (और लघु संदर्भ मानचित्र) हो सकता है, जो यह निर्धारित करता है कि कौन से वर्णों को संदर्भ में सीमांकक के रूप में माना जाता है। एसजीएमएल मानक मान्यता मोड के बीच स्विच करने वाली [[राज्य मशीन|स्थित मशीन]] के रूप में पार्सिंग की विशेषता है। पार्सिंग के समय, लेक्सिकल विश्लेषण को कॉन्फ़िगर करने वाले मानचित्रों का संग्रह होता है, जबकि लेक्सिकल विश्लेषण मान्यता मोड से संबंधित होता है।


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


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


एसजीएमएल में सार सिंटैक्स है जिसे कई संभावित ठोस सिंटैक्स द्वारा प्रयुक्त किया गया है; चूँकि यह [[सार वाक्य रचना का पेड़|अमूर्त सिंटैक्स ट्री]] और पार्स ट्री के समान उपयोग नहीं है। एसजीएमएल उपयोग में, ठोस सिंटैक्स विशिष्ट सीमांकक का सेट है जबकि सार सिंटैक्स सीमांकक के लिए नामों का समूह है। एक्सएमएल इंफोसेट जॉन मैक्कार्थी (कंप्यूटर वैज्ञानिक) द्वारा प्रस्तुत किए गए सार सिंटैक्स की प्रोग्रामिंग भाषा की धारणा से अधिक मेल खाता है।
एसजीएमएल में सार सिंटैक्स है जिसे कई संभावित ठोस सिंटैक्स द्वारा प्रयुक्त किया गया है; चूँकि यह [[सार वाक्य रचना का पेड़|अमूर्त सिंटैक्स ट्री]] और पार्स ट्री के समान उपयोग नहीं है। एसजीएमएल उपयोग में, ठोस सिंटैक्स विशिष्ट सीमांकक का सेट है जबकि सार सिंटैक्स सीमांकक के लिए नामों का समूह है। एक्सएमएल इंफोसेट जॉन मैक्कार्थी (कंप्यूटर वैज्ञानिक) द्वारा प्रस्तुत किए गए सार सिंटैक्स की प्रोग्रामिंग भाषा की धारणा से अधिक मेल खाता है।
Line 245: Line 238:
{{Main|एचटीएमएल}}
{{Main|एचटीएमएल}}


जबकि एचटीएमएल (हाइपर टेक्स्ट मार्कअप लैंग्वेज) को आंशिक रूप से स्वतंत्र रूप से और एसजीएमएल के समानांतर विकसित किया गया था, इसके निर्माता [[ टिक बैरनर्स - ली |टिक बैरनर्स - ली]] ने इसे एसजीएमएल का अनुप्रयोग बनाने का आशय किया था। एचटीएमएल का डिज़ाइन इसलिए एसजीएमएल टैगिंग से प्रेरित था, किंतु चूंकि कोई स्पष्ट विस्तार और पार्सिंग दिशानिर्देश स्थापित नहीं किए गए थे, अधिकांश वास्तविक एचटीएमएल दस्तावेज़ मान्य एसजीएमएल दस्तावेज़ नहीं हैं। बाद में, एचटीएमएल को एसजीएमएल अनुप्रयोग के रूप में पुन:निर्मित किया गया (संस्करण 2.0); चूँकि एचटीएमएल मार्कअप भाषा में कई विरासत- और अपवाद-हैंडलिंग सुविधाएँ हैं जो एसजीएमएल की आवश्यकताओं से भिन्न हैं। एचटीएमएल 4 एसजीएमएल एप्लिकेशन है जो पूरी तरह से आईएसओ 8879 - एसजीएमएल के अनुरूप है।<ref name="Conformancerequirements">{{cite web |url=http://www.w3.org/TR/html4/conform.html#h-4.2 |title=HTML 4–4 Conformance: requirements and recommendations |access-date=2009-12-30}}</ref>
जबकि एचटीएमएल (हाइपर टेक्स्ट मार्कअप लैंग्वेज) को आंशिक रूप से स्वतंत्र रूप से और एसजीएमएल के समानांतर विकसित किया गया था, इसके निर्माता [[ टिक बैरनर्स - ली |टिक बैरनर्स - ली]] ने इसे एसजीएमएल का अनुप्रयोग बनाने का आशय किया था। एचटीएमएल का डिज़ाइन इसलिए एसजीएमएल टैगिंग से प्रेरित था, किंतु चूंकि कोई स्पष्ट विस्तार और पार्सिंग दिशानिर्देश स्थापित नहीं किए गए थे, अधिकांश वास्तविक एचटीएमएल दस्तावेज़ मान्य एसजीएमएल दस्तावेज़ नहीं हैं। बाद में, एचटीएमएल को एसजीएमएल अनुप्रयोग के रूप में पुन:निर्मित किया गया (संस्करण 2.0); चूँकि एचटीएमएल मार्कअप भाषा में कई विरासत- और अपवाद-हैंडलिंग सुविधाएँ हैं जो एसजीएमएल की आवश्यकताओं से भिन्न हैं। एचटीएमएल 4 एसजीएमएल एप्लिकेशन है जो पूरी तरह से आईएसओ 8879 - एसजीएमएल के अनुरूप है।<ref name="Conformancerequirements">{{cite web |url=http://www.w3.org/TR/html4/conform.html#h-4.2 |title=HTML 4–4 Conformance: requirements and recommendations |access-date=2009-12-30}}</ref>


[[ विश्वव्यापी वेब संकाय | वर्ल्ड वाइड वेब संकाय]] एचटीएमएल वर्किंग ग्रुप के 2006 के पुनरुद्धार के लिए चार्टर कहता है, समूह यह नहीं मानेगा कि 'क्लासिक एचटीएमएल' के लिए एसजीएमएल पार्सर का उपयोग किया जाता है।<ref name="Lilley2009">{{cite web |url=http://www.w3.org/2007/03/HTML-WG-charter |title=एचटीएमएल वर्किंग ग्रुप चार्टर|first1=Chris |last1=Lilley |author-link1=Chris Lilley (W3C) |first2=Tim |last2=Berners-Lee |author-link2=Tim Berners-Lee |date=February 6, 2009 |access-date=April 19, 2007}}</ref> चूँकि एचटीएमएल सिंटैक्स डिफ़ॉल्ट संदर्भ सिंटैक्स के साथ एसजीएमएल सिंटैक्स के समान है, [[HTML5|एचटीएमएल5]] एचटीएमएल को एसजीएमएल एप्लिकेशन के रूप में परिभाषित करने के किसी भी प्रयास को छोड़ देता है, स्पष्ट रूप से अपने स्वयं के पार्सिंग नियमों को परिभाषित करता है,<ref name="html5parsing">{{cite web | url=http://www.w3.org/TR/html5/syntax.html#parsing | title=HTML5 — Parsing HTML documents | website=World Wide Web Consortium | date=October 28, 2014 | access-date=June 29, 2015}}</ref> जो उपस्थित कार्यान्वयन और दस्तावेजों से अधिक निकटता से मेल खाते हैं। चूँकि, यह एक वैकल्पिक एक्सएचटीएमएल क्रमबद्धता को परिभाषित करता है, जो एक्सएमएल और इसलिए एसजीएमएल के अनुरूप भी है।<ref name="Dubost2008">{{cite web|url=http://www.w3.org/QA/2008/01/html5-is-html-and-xml.html |title=HTML 5, one vocabulary, two serializations |first=Karl |last=Dubost |date=January 15, 2008 |work= Questions & Answers blog |publisher=[[W3C]] |access-date=February 25, 2009}}</ref>
[[ विश्वव्यापी वेब संकाय | वर्ल्ड वाइड वेब संकाय]] एचटीएमएल वर्किंग ग्रुप के 2006 के पुनरुद्धार के लिए चार्टर कहता है, समूह यह नहीं मानेगा कि 'क्लासिक एचटीएमएल' के लिए एसजीएमएल पार्सर का उपयोग किया जाता है।<ref name="Lilley2009">{{cite web |url=http://www.w3.org/2007/03/HTML-WG-charter |title=एचटीएमएल वर्किंग ग्रुप चार्टर|first1=Chris |last1=Lilley |author-link1=Chris Lilley (W3C) |first2=Tim |last2=Berners-Lee |author-link2=Tim Berners-Lee |date=February 6, 2009 |access-date=April 19, 2007}}</ref> चूँकि एचटीएमएल सिंटैक्स डिफ़ॉल्ट संदर्भ सिंटैक्स के साथ एसजीएमएल सिंटैक्स के समान है, [[HTML5|एचटीएमएल5]] एचटीएमएल को एसजीएमएल एप्लिकेशन के रूप में परिभाषित करने के किसी भी प्रयास को छोड़ देता है, स्पष्ट रूप से अपने स्वयं के पार्सिंग नियमों को परिभाषित करता है,<ref name="html5parsing">{{cite web | url=http://www.w3.org/TR/html5/syntax.html#parsing | title=HTML5 — Parsing HTML documents | website=World Wide Web Consortium | date=October 28, 2014 | access-date=June 29, 2015}}</ref> जो उपस्थित कार्यान्वयन और दस्तावेजों से अधिक निकटता से मेल खाते हैं। चूँकि, यह एक वैकल्पिक एक्सएचटीएमएल क्रमबद्धता को परिभाषित करता है, जो एक्सएमएल और इसलिए एसजीएमएल के अनुरूप भी है।<ref name="Dubost2008">{{cite web|url=http://www.w3.org/QA/2008/01/html5-is-html-and-xml.html |title=HTML 5, one vocabulary, two serializations |first=Karl |last=Dubost |date=January 15, 2008 |work= Questions & Answers blog |publisher=[[W3C]] |access-date=February 25, 2009}}</ref>
=== आयु ===
=== आयु ===
[[File:OED-LEXX-Bungler.jpg|framed (1985), SGML मार्कअप दिखा रहा है]]
[[File:OED-LEXX-Bungler.jpg|framed (1985), SGML मार्कअप दिखा रहा है]]
Line 253: Line 246:




ऑक्सफोर्ड इंग्लिश डिक्शनरी (ओईडी) का दूसरा संस्करण पूरी तरह से एलईएक्सएक्स (टेक्स्ट एडिटर) टेक्स्ट एडिटर का उपयोग करके एसजीएमएल-आधारित मार्कअप भाषा के साथ चिह्नित है।<ref name="Cowlishaw1987">{{cite journal |title=LEXX—A programmable structured editor |first=M. F. |last=Cowlishaw |author-link=Mike Cowlishaw |journal=IBM Journal of Research and Development |volume=31 |issue=1 |page=73 |year=1987 |publisher=[[IBM]] |doi=10.1147/rd.311.0073}}</ref>
ऑक्सफोर्ड इंग्लिश डिक्शनरी (ओईडी) का दूसरा संस्करण पूरी तरह से एलईएक्सएक्स (टेक्स्ट एडिटर) टेक्स्ट एडिटर का उपयोग करके एसजीएमएल-आधारित मार्कअप भाषा के साथ चिह्नित है।<ref name="Cowlishaw1987">{{cite journal |title=LEXX—A programmable structured editor |first=M. F. |last=Cowlishaw |author-link=Mike Cowlishaw |journal=IBM Journal of Research and Development |volume=31 |issue=1 |page=73 |year=1987 |publisher=[[IBM]] |doi=10.1147/rd.311.0073}}</ref>


तीसरे संस्करण को एक्सएमएल के रूप में चिह्नित किया गया है।
तीसरे संस्करण को एक्सएमएल के रूप में चिह्नित किया गया है।
Line 266: Line 259:


*[[पाठ एन्कोडिंग पहल|टेक्स्ट एन्कोडिंग पहल]] (टीईआई) अकादमिक कंसोर्टियम है जो डिजिटल-प्रारूप टेक्स्टुअल प्रतिनिधित्व अनुप्रयोगों के लिए तकनीकी मानकों को डिजाइन, रखरखाव और विकसित करता है।
*[[पाठ एन्कोडिंग पहल|टेक्स्ट एन्कोडिंग पहल]] (टीईआई) अकादमिक कंसोर्टियम है जो डिजिटल-प्रारूप टेक्स्टुअल प्रतिनिधित्व अनुप्रयोगों के लिए तकनीकी मानकों को डिजाइन, रखरखाव और विकसित करता है।
*डॉक्बुक मूल रूप से एसजीएमएल एप्लिकेशन के रूप में बनाई गई मार्कअप भाषा है, जिसे तकनीकी दस्तावेज़ीकरण के लिए डिज़ाइन किया गया है; डॉकबुक वर्तमान में एक्सएमएल एप्लीकेशन है।
*डॉक्बुक मूल रूप से एसजीएमएल एप्लिकेशन के रूप में बनाई गई मार्कअप भाषा है, जिसे तकनीकी दस्तावेज़ीकरण के लिए डिज़ाइन किया गया है; डॉकबुक वर्तमान में एक्सएमएल एप्लीकेशन है।
*[[CALS (DOD)|कैल्स (डीओडी)]] (निरंतर अधिग्रहण और जीवन-चक्र समर्थन) अमेरिकी रक्षा विभाग ([[CALS (DOD)|डीओडी]]) की पहल है जो सैन्य दस्तावेजों को इलेक्ट्रॉनिक रूप से कैप्चर करने और संबंधित डेटा और सूचनाओं को जोड़ने के लिए है।
*[[CALS (DOD)|कैल्स (डीओडी)]] (निरंतर अधिग्रहण और जीवन-चक्र समर्थन) अमेरिकी रक्षा विभाग ([[CALS (DOD)|डीओडी]]) की पहल है जो सैन्य दस्तावेजों को इलेक्ट्रॉनिक रूप से कैप्चर करने और संबंधित डेटा और सूचनाओं को जोड़ने के लिए है।
*हाइटाइम हाइपरटेक्स्ट-उन्मुख तत्व प्रकारों के सेट को परिभाषित करता है जो एसजीएमएल दस्तावेज़ लेखकों को हाइपरटेक्स्ट और मल्टीमीडिया प्रस्तुतियों का निर्माण करने की अनुमति देता है।
*हाइटाइम हाइपरटेक्स्ट-उन्मुख तत्व प्रकारों के सेट को परिभाषित करता है जो एसजीएमएल दस्तावेज़ लेखकों को हाइपरटेक्स्ट और मल्टीमीडिया प्रस्तुतियों का निर्माण करने की अनुमति देता है।
*ईडीजीएआर (इलेक्ट्रॉनिक डेटा-एकत्रीकरण, विश्लेषण और पुनर्प्राप्ति) सिस्टम स्वचालित संग्रह, सत्यापन, अनुक्रमण, स्वीकृति, और कंपनियों और अन्य लोगों द्वारा सबमिशन को अग्रेषित करता है, जिन्हें यूएस सिक्योरिटीज और एक्सचेंज के साथ डेटा और सूचना फॉर्म फाइल करने के लिए नियमित रूप से आवश्यक है। आयोग (एसईसी)।
*ईडीजीएआर (इलेक्ट्रॉनिक डेटा-एकत्रीकरण, विश्लेषण और पुनर्प्राप्ति) सिस्टम स्वचालित संग्रह, सत्यापन, अनुक्रमण, स्वीकृति, और कंपनियों और अन्य लोगों द्वारा सबमिशन को अग्रेषित करता है, जिन्हें यूएस सिक्योरिटीज और एक्सचेंज के साथ डेटा और सूचना फॉर्म फाइल करने के लिए नियमित रूप से आवश्यक है। आयोग (एसईसी)।
* लिनक्स डॉक। Linuएक्स संकुल के लिए प्रलेखन में लिनक्स डॉक् एसजीएमएल डीटीडी और डॉक्बुक एक्सएमएल डीटीडी का उपयोग किया गया है।
* लिनक्स डॉक। Linuएक्स संकुल के लिए प्रलेखन में लिनक्स डॉक् एसजीएमएल डीटीडी और डॉक्बुक एक्सएमएल डीटीडी का उपयोग किया गया है।
*[[AAP DTD|एएपी डीटीडी]] [[विज्ञान]] दस्तावेज़ों के लिए दस्तावेज़ प्रकार की परिभाषा है, जिसे [[एसोसिएशन ऑफ अमेरिकन पब्लिशर्स]] द्वारा परिभाषित किया गया है।
*[[AAP DTD|एएपी डीटीडी]] [[विज्ञान]] दस्तावेज़ों के लिए दस्तावेज़ प्रकार की परिभाषा है, जिसे [[एसोसिएशन ऑफ अमेरिकन पब्लिशर्स]] द्वारा परिभाषित किया गया है।
*[[ISO 12083|आईएसओ 12083]], [[AAP DTD|एएपी]] डीटीपी का उत्तराधिकारी लेखकों और प्रकाशकों के बीच दस्तावेज़ आदान-प्रदान के लिए अंतर्राष्ट्रीय एसजीएमएल मानक है।
*[[ISO 12083|आईएसओ 12083]], [[AAP DTD|एएपी]] डीटीपी का उत्तराधिकारी लेखकों और प्रकाशकों के बीच दस्तावेज़ आदान-प्रदान के लिए अंतर्राष्ट्रीय एसजीएमएल मानक है।
*[[SGMLguid|एसजीएमएलगाइड]] [[CERN|सीईआरएन]] में बनाई, विकसित और उपयोग की गई प्रारंभिक एसजीएमएल दस्तावेज़ प्रकार की परिभाषा थी।
*[[SGMLguid|एसजीएमएलगाइड]] [[CERN|सीईआरएन]] में बनाई, विकसित और उपयोग की गई प्रारंभिक एसजीएमएल दस्तावेज़ प्रकार की परिभाषा थी।


== ओपन-सोर्स कार्यान्वयन ==
== ओपन-सोर्स कार्यान्वयन ==
महत्वपूर्ण [[ खुला स्रोत सॉफ्टवेयर |खुला स्रोत सॉफ्टवेयर]] या एसजीएमएल के ओपन सोर्स कार्यान्वयन में सम्मिलित हैं:
महत्वपूर्ण [[ खुला स्रोत सॉफ्टवेयर |खुला स्रोत सॉफ्टवेयर]] या एसजीएमएल के ओपन सोर्स कार्यान्वयन में सम्मिलित हैं:
* [http://ftp.sunet.se/mirror/archive/ftp.sunet.se/pub/text-processing/sgml/ASP-SGML/ एएसपी-एसजीएमएल]
* [http://ftp.sunet.se/mirror/archive/ftp.sunet.se/pub/text-processing/sgml/ASP-SGML/ एएसपी-एसजीएमएल]
* [http://ftp.sunet.se/mirror/archive/ftp.sunet.se/pub/text-processing/sgml/ARC-SGML/ एआरसी-एसजीएमएल], मानक सामान्यीकृत मार्कअप भाषा उपयोगकर्ता', 1991, C द्वारा भाषा
* [http://ftp.sunet.se/mirror/archive/ftp.sunet.se/pub/text-processing/sgml/ARC-SGML/ एआरसी-एसजीएमएल], मानक सामान्यीकृत मार्कअप भाषा उपयोगकर्ता', 1991, C द्वारा भाषा
Line 308: Line 301:
*[http://www.the-software-experts.de/e_dta-sw-doku-principles.htm Introduction and Eएक्स amples of Software Documentation in एसजीएमएल]
*[http://www.the-software-experts.de/e_dta-sw-doku-principles.htm Introduction and Eएक्स amples of Software Documentation in एसजीएमएल]
*[http://purl.umn.edu/42431 SC34 Committee Records], [[Charles Babbage Institute]]&nbsp;– Collection on the development of '''एसजीएमएल''' and other standards influential in the development of current एक्सएमएल tools; documents include early drafts of एसजीएमएल administrative materials, documentation, working group papers, and standards for computer languages.
*[http://purl.umn.edu/42431 SC34 Committee Records], [[Charles Babbage Institute]]&nbsp;– Collection on the development of '''एसजीएमएल''' and other standards influential in the development of current एक्सएमएल tools; documents include early drafts of एसजीएमएल administrative materials, documentation, working group papers, and standards for computer languages.
*[http://xml.coverpages.org/sgmlsyn/sgmlsyn.htm#C6 एसजीएमएल Syntaएक्स Summary by Charles Goldfarb]
*[http://xml.coverpages.org/sgmlsyn/sgmlsyn.htm#C6 एसजीएमएल Syntaएक्स Summary by Charles Goldfarb]
*[http://www.users.cloud9.net/~bradmcc/WhatIsSGML.html एसजीएमएल document introducing you to एसजीएमएल]; [http://www.users.cloud9.net/~bradmcc/sgmlnote.html Some reasons why एसजीएमएल is important]
*[http://www.users.cloud9.net/~bradmcc/WhatIsSGML.html एसजीएमएल document introducing you to एसजीएमएल]; [http://www.users.cloud9.net/~bradmcc/sgmlnote.html Some reasons why एसजीएमएल is important]
*[https://web.archive.org/web/20160306121935/http://www.is-thought.co.uk/book/sgml-4.htm The एसजीएमएल Declaration], in एसजीएमएल and एचटीएमएल Eएक्स plained, Martin Bryan (1997) (the original URL is broken at [http://www.is-thought.co.uk/book/sgml-4.htm#Fig4-2 http://डब्लूडब्लूडब्लू.is-thought.co.uk/book/एसजीएमएल-4.htm#Fig4-2])
*[https://web.archive.org/web/20160306121935/http://www.is-thought.co.uk/book/sgml-4.htm The एसजीएमएल Declaration], in एसजीएमएल and एचटीएमएल Eएक्स plained, Martin Bryan (1997) (the original URL is broken at [http://www.is-thought.co.uk/book/sgml-4.htm#Fig4-2 http://डब्लूडब्लूडब्लू.is-thought.co.uk/book/एसजीएमएल-4.htm#Fig4-2])

Revision as of 13:17, 28 June 2023

Standard Generalized Markup Language
SGML.svg
Filename extension
.sgml
Internet media type
application/sgml, text/sgml
Uniform Type Identifier (UTI)public.xml[citation needed]
Developed byISO
Type of formatMarkup language
Extended fromGML
Extended toHTML, XML
StandardISO 8879

मानक सामान्यीकृत मार्कअप भाषा (एसजीएमएल; मानकीकरण के लिए अंतर्राष्ट्रीय संगठन 8879:1986) दस्तावेजों के लिए सामान्यीकृत मार्कअप भाषाओं को परिभाषित करने के लिए मानक है। आईएसओ 8879 अनुलग्नक ए.1 बताता है कि सामान्यीकृत मार्कअप दो अभिधारणाओं पर आधारित है:[1]

घोषणात्मक: मार्कअप को उस प्रक्रिया को निर्दिष्ट करने के अतिरिक्त दस्तावेज़ की संरचना और अन्य विशेषताओं का वर्णन करना चाहिए जिसे करने की आवश्यकता है क्योंकि भविष्य के विकास के साथ संघर्ष की संभावना कम है।

  • कठोर: मार्कअप को प्रसंस्करण के लिए उपलब्ध तकनीकों का लाभ उठाने की अनुमति देने के लिए, मार्कअप को प्रोग्राम और डेटाबेस जैसी वस्तुओं को सख्ती से परिभाषित करना चाहिए।

डॉकबुक एसजीएमएल और लिनक्स डॉक ऐसे उदाहरण हैं जो एसजीएमएल उपकरण का उपयोग करते हैं।

मानक संस्करण

एसजीएमएल मानकीकरण मानक के लिए अंतर्राष्ट्रीय संगठन है: आईएसओ 8879:1986 सूचना प्रसंस्करण - टेक्स्ट और कार्यालय प्रणाली - मानक सामान्यीकृत मार्कअप लैंग्वेज (एसजीएमएल), जिसके तीन संस्करण हैं:

  • मूल एसजीएमएल, जिसे अक्टूबर 1986 में स्वीकार किया गया था, उसके बाद मामूली तकनीकी शुद्धिपत्र दिया गया।
  • एसजीएमएल (ईएनआर), 1996 में, मनमाना-भाषा और -स्क्रिप्ट मार्कअप की अनुमति देने वाले विस्तारित नामकरण नियमों को जोड़ने के लिए तकनीकी शुद्धिपत्र के परिणामस्वरूप हुआ।
  • एसजीएमएल (ईएनआर+डब्लूडब्लूडब्लू या वेबएसजीएमएल), 1998 में, तकनीकी शुद्धिपत्र के परिणामस्वरूप एक्सएमएल और डब्लूडब्लूडब्लू आवश्यकताओं का उत्तम समर्थन करने के लिए .

एसजीएमएल आईएसओ/आईईसी जेटीसी 1/एससी 34 द्वारा विकसित इलेक्ट्रॉनिक दस्तावेज़ के लिए आईएसओ मानकों को सक्षम करने की तिकड़ी का भाग है[1][2] (आईएसओ/आईईसी संयुक्त तकनीकी समिति 1, उपसमिति 34 -दस्तावेज़ विवरण और प्रसंस्करण भाषाएँ):

  • एसजीएमएल (आईएसओ 8879) - सामान्यीकृत मार्कअप भाषा
    • एसजीएमएल को 1998 में एक्सएमएल, एसजीएमएल की सफल प्रोफ़ाइल_(इंजीनियरिंग) में फिर से काम किया गया था। पूर्ण एसजीएमएल संभवतः ही कभी नई परियोजनाओं में पाया जाता है या उपयोग किया जाता है।
  • डीएसएसएसएल (आईएसओ/आईईसी 10179) - योजना (प्रोग्रामिंग भाषा) पर आधारित दस्तावेज़ प्रोसेसिंग और स्टाइलिंग भाषा।
    • डीएसएसएसएल में फिर से काम किया गया डब्ल्यू3सी एक्सएसएलटी और एक्सएसएल-एफओ जो एक्सएमएल सिंटैक्स का उपयोग करते हैं। आजकल, लिनक्स प्रलेखन के अतिरिक्त डीएसएसएसएल का संभवतः ही कभी नई परियोजनाओं में उपयोग किया जाता है।
  • हाइटाइम - सामान्यीकृत हाइपरटेक्स्ट और शेड्यूलिंग।[3]
    • हाईटाइम को डब्ल्यू3सी एक्सलिंक में आंशिक रूप से फिर से काम में लाया गया। हाईटाइम का उपयोग संभवतः कभी नई परियोजनाओं में किया जाता है।

एसजीएमएल विशेष रूप से विभिन्न तकनीकी रिपोर्टों द्वारा समर्थित है

  • आईएसओ/आईईसी टीआर 9573 - सूचना प्रसंस्करण - एसजीएमएल समर्थन सुविधाएं - एसजीएमएल का उपयोग करने की तकनीकें [4]
    • भाग 13: गणित और विज्ञान के लिए सार्वजनिक इकाई सेट
      • 2007 में, डब्ल्यू3सी मैथएमएल कार्य समूह इन इकाई सेटों के रखरखाव का कार्यभार संभालने के लिए सहमत हुआ।

इतिहास

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

दस्तावेज़ वैधता

एसजीएमएल (ईएनआर+डब्लूडब्लूडब्लू) दो प्रकार की वैधता को परिभाषित करता है। आईएसओ 8879 की संशोधित नियमो और परिभाषाओं के अनुसार (सार्वजनिक ड्राफ्ट से[7]):


एक अनुरूप एसजीएमएल दस्तावेज़ या तो प्रकार-वैध एसजीएमएल दस्तावेज़, टैग-वैध एसजीएमएल दस्तावेज़, या दोनों होना चाहिए। नोट: उपयोगकर्ता किसी दस्तावेज़ पर अतिरिक्त बाधाओं को प्रयुक्त करना चाह सकता है, जैसे कि दस्तावेज़ का उदाहरण एकीकृत रूप से संग्रहीत है या इकाई संदर्भों से मुक्त है।


एक प्रकार-वैध एसजीएमएल दस्तावेज़ को मानक के रूप में परिभाषित किया गया है


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


एक टैग-वैध एसजीएमएल दस्तावेज़ को मानक के रूप में परिभाषित किया गया है


एक एसजीएमएल दस्तावेज़, जिसके सभी दस्तावेज़ उदाहरण पूरी तरह से टैग किए गए हैं। किसी भी उदाहरण से जुड़े दस्तावेज़ प्रकार की घोषणा की आवश्यकता नहीं है। नोट: यदि कोई दस्तावेज़ प्रकार की घोषणा है, तो उदाहरण को इसके संदर्भ में या उसके बिना पार्स किया जा सकता है।

शब्दावली

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

वैधता पर एसजीएमएल जोर सामान्यीकृत मार्कअप की आवश्यकता का समर्थन करता है कि मार्कअप कठोर होना चाहिए। (आईएसओ 8879 ए.1)

सिंटेक्स

एक एसजीएमएल दस्तावेज़ के तीन भाग हो सकते हैं:

  1. एसजीएमएल घोषणा,
  2. प्रस्तावना जिसमें विभिन्न मार्कअप घोषणाओं के साथ डॉक्टाइप घोषणा सम्मिलित है जो साथ दस्तावेज़ प्रकार परिभाषा (डीटीडी) बनाती है, और
  3. स्वयं उदाहरण, जिसमें शीर्षतम तत्व और उसकी पदार्थ सम्मिलित है।

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

चूँकि पूर्ण एसजीएमएल निहित मार्कअप और कुछ अन्य प्रकार के टैग की अनुमति देता है, एक्सएमएल विनिर्देश (s4.3.1) कहता है:

प्रत्येक एक्सएमएल दस्तावेज़ में तार्किक और भौतिक दोनों संरचना होती है। भौतिक रूप से, दस्तावेज़ इकाइयों से बना होता है जिन्हें संस्थाएँ कहा जाता है। एक इकाई अन्य संस्थाओं को दस्तावेज़ में सम्मिलित करने के लिए संदर्भित कर सकती है। एक दस्तावेज़ "रूट" या दस्तावेज़ इकाई में प्रारंभ होता है। तार्किक रूप से, दस्तावेज़ घोषणाओं, तत्वों, टिप्पणियों, चरित्र संदर्भों और प्रसंस्करण निर्देश से बना है, जो सभी दस्तावेज़ में स्पष्ट मार्कअप द्वारा इंगित किए गए हैं।

मूलभूत आधुनिक एसजीएमएल सिंटैक्स पर परिचयात्मक जानकारी के लिए, एक्सएमएल देखें। निम्नलिखित पदार्थ एक्सएमएल में नहीं सुविधाओं पर केंद्रित है और एसजीएमएल सिंटैक्स का व्यापक सारांश नहीं है।

वैकल्पिक विशेषताएं

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

कई एसजीएमएल विशेषताएँ न्यूनतम मार्कअप से संबंधित हैं। अन्य विशेषताएँ समवर्ती मार्कअप या समवर्ती (समानांतर) मार्कअप (कांकर ), लिंकिंग प्रोसेसिंग एट्रिब्यूट्स (लिंक ) और एसजीएमएल दस्तावेज़ों (सुब डॉक्) के अंदर एसजीएमएल दस्तावेज़ों को एम्बेड करने से संबंधित हैं।

अनुकूलन सुविधाओं की धारणा वेब उपयोग के लिए उपयुक्त नहीं थी इसलिए एक्सएमएल का लक्ष्य वैकल्पिक सुविधाओं को कम करना था। चूँकि एक्सएमएल के सुव्यवस्थित नियम विकी जैसी भाषाओं का समर्थन नहीं कर सकते हैं, जिससे उन्हें गैर-टेक्स्ट सूचना प्रणाली के साथ एकीकृत करना कठिनाई पूर्वक हो जाता है।

ठोस और सार सिंटैक्स

सामान्य (डिफ़ॉल्ट) एसजीएमएल कंक्रीट सिंटैक्स इस उदाहरण के समान है, जो कि डिफ़ॉल्ट एचटीएमएल कंक्रीट सिंटैक्स है:

<QUOTE TYPE="example">
  typically something like <ITALICS>this</ITALICS>
</QUOTE>

एसजीएमएल सार सिंटैक्स प्रदान करता है जिसे कई अलग-अलग प्रकार के कंक्रीट सिंटैक्स में प्रयुक्त किया जा सकता है। चूँकि मार्कअप मानदंड ब्रैकेट का उपयोग एसजीएमएल दस्तावेज़ (मानक-परिभाषित संदर्भ कंक्रीट सिंटैक्स के अनुसार) में स्टार्ट- और एंड-टैग सीमांकक के रूप में कर रहा है, अन्य वर्णों का उपयोग करना संभव है - परन्तु उपयुक्त ठोस सिंटैक्स दस्तावेज़ के एसजीएमएल घोषणा में परिभाषित किया गया हो .[8] उदाहरण के लिए, एसजीएमएल दुभाषिया को जीएमएल को पार्स करने के लिए प्रोग्राम किया जा सकता है, जिसमें टैग्स को बाएँ कोलन (विराम चिह्न) और दाएँ पूर्ण विराम के साथ सीमांकित किया जाता है, और :e उपसर्ग अंतिम टैग को दर्शाता है: :एक्स mp.Hello, world:eएक्स mp.. संदर्भ सिंटैक्स के अनुसार, अक्षर केस (अपर- या लोअर-केस) टैग नामों में प्रतिष्ठित नहीं है, इसलिए तीन टैग <quote>, <QUOTE>, और <quOtE> समकक्ष हैं। (एक ठोस सिंटैक्स इस नियम को नेमकेस नेमिंग घोषणाओं के माध्यम से बदल सकता है।)

न्यूनतम मार्कअप

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

ओमिटटैग

प्रारंभ टैग और अंत टैग दोनों को दस्तावेज़ उदाहरण से छोड़ा जा सकता है, परन्तु:

  1. एसजीएमएल घोषणा में ओमितटैग सुविधा सक्षम है,
  2. डीटीडी इंगित करता है कि टैग को छोड़ने की अनुमति है,
  3. (प्रारंभ टैग के लिए) तत्व की कोई संबद्ध आवश्यकता नहीं है (#REQUIRED) विशेषताएँ, और
  4. टैग को संदर्भ द्वारा स्पष्ट रूप से अनुमान लगाया जा सकता है।

उदाहरण के लिए, यदि ओमितटैग YES को एसजीएमएल घोषणा (ओमितटैग सुविधा को सक्षम करने) में निर्दिष्ट किया गया है, और डीटीडी में निम्नलिखित घोषणाएँ सम्मिलित हैं:

<!ELEMENT chapter - - (title, section+)>
<!ELEMENT title o o (#PCDATA)>
<!ELEMENT section - - (title, subsection+)>

फिर यह अंश:

<chapter>Introduction to SGML
<section>The SGML Declaration
<subsection>
...

जो दो छोड़ देता है ‎<title> टैग और दो ‎</title> टैग, मान्य मार्कअप का प्रतिनिधित्व करेंगे।

टैग छोड़ना वैकल्पिक है – उसी अंश को इस तरह टैग किया जा सकता है:

<chapter><title>Introduction to SGML</title>
<section><title>The SGML Declaration</title>
<subsection>
...

और अभी भी मान्य मार्कअप का प्रतिनिधित्व करेगा।

नोट: ओमितटैग सुविधा उन तत्वों की टैगिंग से असंबंधित है जिनकी घोषित पदार्थ डीटीडी में परिभाषित EMPTY है:

<!ELEMENT image - o EMPTY>

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

शॉर्टरेफ

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

शार्टटैग

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

<QUOTE TYPE=example>
  typically something like <ITALICS>this</>
</QUOTE>

एसजीएमएल मार्कअप भाषाओं की एक विशेषता "अनुमानित खाली टैगिंग" है, जैसे </> में <ITALICS>this</> निकटतम पिछले पूर्ण प्रारंभ टैग से अपना मूल्य "विरासत" प्राप्त करता है, जो, इस उदाहरण में,<ITALICS> है (दूसरे शब्दों में, यह सबसे वर्तमान ही में खोले गए आइटम को बंद कर देता है)। इस प्रकार यह अभिव्यक्ति <ITALICS>this</ITALICS>.के समतुल्य है।

नेट

एक अन्य विशेषता नेट (नल एंड टैग) निर्माण है: <ITALICS/this/,जो संरचनात्मक रूप से <ITALICS>this</ITALICS> के समतुल्य है।

अन्य विशेषताएं

इसके अतिरिक्त, शॉर्टटैग नेटेनेबल इम्मेडनेट सुविधा खाली टेक्स्ट मान के आसपास के टैग को छोटा करने की अनुमति देती है, किंतु पूरे टैग को छोटा करने से मना करती है:

<QUOTE></QUOTE>

रूप में लिखा जा सकता है

<QUOTE//


जिसमें पहला स्लैश ( / ) नेट-सक्षम "स्टार्ट-टैग क्लोज़" (एनईएसटीसी) के लिए है, और दूसरा स्लैश नेट के लिए है। ध्यान दें: एक्सएमएल एनईएसटीसी को / के साथ और नेट को > (कोण वाले ब्रैकेट) के साथ परिभाषित करता है - इसलिए एक्सएमएल में संबंधित निर्माण <QUOTE/> के रूप में दिखाई देता है।

तीसरी विशेषता 'समान पंक्ति पर पाठ' है, जिससे मार्कअप आइटम को लाइन-एंड के साथ समाप्त किया जा सकता है; शीर्षकों के लिए विशेष रूप से उपयोगी और ऐसे, जिनमें शॉर्टरेफ या डेटाटैग न्यूनीकरण का उपयोग करने की आवश्यकता होती है। उदाहरण के लिए, यदि डीटीडी में निम्नलिखित घोषणाएँ सम्मिलित हैं:

<!ELEMENT lines (line*)>
<!ELEMENT line O - (#PCDATA)>
<!ENTITY   line-tagc  "</line>">
<!SHORTREF one-line "&#RE;&#RS;" line-tagc>
<!USEMAP   one-line line>

(और &#RE;&#RS; कंक्रीट सिंटैक्स में लघु-संदर्भ सीमांकक है), फिर:

<lines>
first line
second line
</lines>

के समान है:

<lines>
<line>first line</line>
<line>second line</line>
</lines>


औपचारिक लक्षण वर्णन

एसजीएमएल में कई विशेषताएं हैं जो लोकप्रिय औपचारिक ऑटोमेटा सिद्धांत और 1980 और 1990 के दशक की समकालीन पदच्छेद तकनीक के साथ सुविधाजनक विवरण को परिभाषित करती हैं। मानक अनुलग्नक एच में चेतावनी देता है:

एसजीएमएल मॉडल समूह नोटेशन को जानबूझकर ऑटोमेटा सिद्धांत के नियमित अभिव्यक्ति नोटेशन के समान डिजाइन किया गया था, क्योंकि ऑटोमेटा सिद्धांत एक सामग्री मॉडल के अनुरूपता की धारणा के कुछ पहलुओं के लिए एक सैद्धांतिक आधार प्रदान करता है। सामग्री मॉडल के लिए ऑटोमेटा की सामान्य प्रयोज्यता के बारे में कोई धारणा नहीं बनाई जानी चाहिए।

बुनियादी एसजीएमएल, एम्स्टर्डम एसजीएमएल पार्सर के लिए एक पार्सर के प्रारंभिक कार्यान्वयन पर एक रिपोर्ट,[9] टिप्पणियाँ

एसजीएमएल में डीटीडी-व्याकरण को स्पष्टता की धारणा के अनुरूप होना चाहिए जो एलएल(1) शर्तों से काफी मिलता जुलता है।

और विभिन्न अंतरों को निर्दिष्ट करता है।

ऐसा प्रतीत होता है कि औपचारिक व्याकरण के ज्ञात वर्ग के विरुद्ध पूर्ण एसजीएमएल का कोई निश्चित वर्गीकरण नहीं है। प्रशंसनीय कक्षाओं में पेड़ से सटे व्याकरण और अनुकूली व्याकरण सम्मिलित हो सकते हैं।

एक्सएमएल को सामान्यतः गैर-मान्य एक्सएमएल के लिए दो-स्तरीय व्याकरण और मान्य एक्सएमएल के लिए कोरटाइन्स ( लेक्सर , पार्सर, वैलिडेटर) की मेल्विन कॉनवे-शैली की पाइपपंक्ति की तरह व्याख्यायित किया जाता है।[10] आईएसओ मानक में एसजीएमएल प्रोडक्शन को एलएल(3) या एलएल(4) बताया गया है।[11] एक्सएमएल-श्रेणी के सबसेट को W-व्याकरण का उपयोग करके अभिव्यक्त होने की सूचना दी जाती है।[12] पेपर के अनुसार ,[13] और संभवतः किसी वर्ण या सीमांकक स्तर के अतिरिक्त एक्सएमएल सूचना सेट या पार्स ट्री स्तर पर विचार किया जाता है:

दस्तावेज़ों का वह वर्ग जो किसी दिए गए एसजीएमएल दस्तावेज़ व्याकरण के अनुरूप होता है, एक LL(1) भाषा बनाता है। ... हालाँकि, SGML दस्तावेज़ व्याकरण स्वयं LL(1) व्याकरण नहीं हैं।

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

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

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

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

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

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

डेरिवेटिव्स

एक्सएमएल

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

एचटीएमएल

जबकि एचटीएमएल (हाइपर टेक्स्ट मार्कअप लैंग्वेज) को आंशिक रूप से स्वतंत्र रूप से और एसजीएमएल के समानांतर विकसित किया गया था, इसके निर्माता टिक बैरनर्स - ली ने इसे एसजीएमएल का अनुप्रयोग बनाने का आशय किया था। एचटीएमएल का डिज़ाइन इसलिए एसजीएमएल टैगिंग से प्रेरित था, किंतु चूंकि कोई स्पष्ट विस्तार और पार्सिंग दिशानिर्देश स्थापित नहीं किए गए थे, अधिकांश वास्तविक एचटीएमएल दस्तावेज़ मान्य एसजीएमएल दस्तावेज़ नहीं हैं। बाद में, एचटीएमएल को एसजीएमएल अनुप्रयोग के रूप में पुन:निर्मित किया गया (संस्करण 2.0); चूँकि एचटीएमएल मार्कअप भाषा में कई विरासत- और अपवाद-हैंडलिंग सुविधाएँ हैं जो एसजीएमएल की आवश्यकताओं से भिन्न हैं। एचटीएमएल 4 एसजीएमएल एप्लिकेशन है जो पूरी तरह से आईएसओ 8879 - एसजीएमएल के अनुरूप है।[14]

वर्ल्ड वाइड वेब संकाय एचटीएमएल वर्किंग ग्रुप के 2006 के पुनरुद्धार के लिए चार्टर कहता है, समूह यह नहीं मानेगा कि 'क्लासिक एचटीएमएल' के लिए एसजीएमएल पार्सर का उपयोग किया जाता है।[15] चूँकि एचटीएमएल सिंटैक्स डिफ़ॉल्ट संदर्भ सिंटैक्स के साथ एसजीएमएल सिंटैक्स के समान है, एचटीएमएल5 एचटीएमएल को एसजीएमएल एप्लिकेशन के रूप में परिभाषित करने के किसी भी प्रयास को छोड़ देता है, स्पष्ट रूप से अपने स्वयं के पार्सिंग नियमों को परिभाषित करता है,[16] जो उपस्थित कार्यान्वयन और दस्तावेजों से अधिक निकटता से मेल खाते हैं। चूँकि, यह एक वैकल्पिक एक्सएचटीएमएल क्रमबद्धता को परिभाषित करता है, जो एक्सएमएल और इसलिए एसजीएमएल के अनुरूप भी है।[17]

आयु

framed (1985), SGML मार्कअप दिखा रहा है


ऑक्सफोर्ड इंग्लिश डिक्शनरी (ओईडी) का दूसरा संस्करण पूरी तरह से एलईएक्सएक्स (टेक्स्ट एडिटर) टेक्स्ट एडिटर का उपयोग करके एसजीएमएल-आधारित मार्कअप भाषा के साथ चिह्नित है।[18]

तीसरे संस्करण को एक्सएमएल के रूप में चिह्नित किया गया है।

अन्य

अन्य दस्तावेज़ मार्कअप भाषाएँ आंशिक रूप से एसजीएमएल और एक्सएमएल से संबंधित हैं, किंतु —क्योंकि उन्हें मानक एसजीएमएल और एक्सएमएल उपकरण का उपयोग करके पार्स या मान्य या अन्यथा संसाधित नहीं किया जा सकता है—उन्हें एसजीएमएल या एक्सएमएल भाषा नहीं माना जाता है; टाइपसेटिंग और प्रलेखन के लिए Z प्रारूप मार्कअप भाषा उदाहरण है।

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

अनुप्रयोग

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

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

ओपन-सोर्स कार्यान्वयन

महत्वपूर्ण खुला स्रोत सॉफ्टवेयर या एसजीएमएल के ओपन सोर्स कार्यान्वयन में सम्मिलित हैं:

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

यह भी देखें

संदर्भ

  1. 1.0 1.1 ISO. "JTC 1/SC 34 – Document description and processing languages". ISO. Retrieved 2009-12-25.
  2. ISO JTC1/SC34. "JTC 1/SC 34 - दस्तावेज़ विवरण और प्रसंस्करण भाषाएँ". Retrieved 2009-12-25.
  3. ISO/IEC 10744 – Hytime
  4. "ISO/IEC TR 9573" (PDF). ISO. 1991. Retrieved 5 December 2017.
  5. Goldfarb, Charles F. (1996). "The Roots of SGML – A Personal Recollection". Retrieved July 7, 2007.
  6. Goldfarb, Charles F. (1990). एसजीएमएल हैंडबुक. ISBN 9780198537373.
  7. "Terms and Definitions of ISO 8879 draft".
  8. Wohler, Wayne (July 21, 1998). "एसजीएमएल घोषणाएं". Retrieved August 17, 2009.
  9. Egmond (December 1989). "एम्स्टर्डम एसजीएमएल पार्सर का कार्यान्वयन" (PDF).
  10. Carroll, Jeremy J. (November 26, 2001). "आरडीएफ और एक्सएमएल की तुलना" (PDF). Hewlett-Packard. Retrieved October 9, 2009.
  11. "SGML: Grammar Productions".
  12. "Re: Other whitespace problems was Re: Whitespace rules (v2)".
  13. Bruggemann-Klein. "Compiler-Construction Tools and Techniques for SGML parsers: Difficulties and Solutions".
  14. "HTML 4–4 Conformance: requirements and recommendations". Retrieved 2009-12-30.
  15. Lilley, Chris; Berners-Lee, Tim (February 6, 2009). "एचटीएमएल वर्किंग ग्रुप चार्टर". Retrieved April 19, 2007.
  16. "HTML5 — Parsing HTML documents". World Wide Web Consortium. October 28, 2014. Retrieved June 29, 2015.
  17. Dubost, Karl (January 15, 2008). "HTML 5, one vocabulary, two serializations". Questions & Answers blog. W3C. Retrieved February 25, 2009.
  18. Cowlishaw, M. F. (1987). "LEXX—A programmable structured editor". IBM Journal of Research and Development. IBM. 31 (1): 73. doi:10.1147/rd.311.0073.


बाहरी संबंध