एसजीएमएल एंटिटी
मानक सामान्यीकृत मार्कअप भाषा (एसजीएमएल) में, इकाई ऐसा सर्वप्रथम प्रकार का डेटा है, जो स्ट्रिंग (कंप्यूटर विज्ञान) को अद्वितीय उपनाम (जैसे उपयोगकर्ता-निर्दिष्ट नाम) या एसजीएमएल आरक्षित शब्द (जैसे कि #DEFAULT
) के साथ जोड़ती है। संस्थाएँ एसजीएमएल दस्तावेज़ों की संगठनात्मक संरचना और परिभाषा के लिए मूलभूत हैं। एसजीएमएल विनिर्देश कई इकाई प्रकारों को परिभाषित करता है, जो कीवर्ड क्वालिफायर और संदर्भ द्वारा भिन्न होते हैं। इकाई स्ट्रिंग मान में विभिन्न प्रकार से ब्लांक टेक्स्ट, एसजीएमएल टैग और पहले से परिभाषित संस्थाओं के संदर्भ सम्मिलित हो सकते हैं। कुछ इकाई प्रकार बाहरी दस्तावेज़ों को भी प्रारम्भ कर सकते हैं। संस्थाओं को संदर्भ द्वारा कॉल किया जाता है।
इकाई प्रकार
संस्थाओं को सामान्य या पैरामीटर के रूप में वर्गीकृत किया गया है:
- एक सामान्य इकाई को केवल दस्तावेज़ सामग्री के भीतर ही संदर्भित किया जा सकता है।
- एक पैरामीटर इकाई को केवल दस्तावेज़ प्रकार की परिभाषा (DTD) के भीतर संदर्भित किया जा सकता है।
संस्थाओं को आगे पार्स या अनपार्स के रूप में वर्गीकृत किया गया है:
- एक पार्स की गई इकाई में टेक्स्ट होता है, जिसे दस्तावेज़ में सम्मिलित किया जाएगा और यदि इकाई को संदर्भित किया जाता है तो इसे पार्स किया जाएगा। एक पैरामीटर इकाई केवल एक पार्स की गई इकाई हो सकती है।
- एक अविश्लेषित इकाई में किसी भी प्रकार का डेटा होता है, और इसके संदर्भ में एप्लिकेशन को केवल इकाई की उपस्थिति के बारे में सूचित किया जाएगा; इकाई की सामग्री को पार्स नहीं किया जाएगा, भले ही वह पाठ हो। एक अविश्लेषित इकाई केवल बाहरी हो सकती है।
आंतरिक और बाहरी संस्थाएं
एक आंतरिक इकाई का एक मान होता है जो या तो एक शाब्दिक (कंप्यूटर विज्ञान) स्ट्रिंग है, या एक पार्स की गई स्ट्रिंग जिसमें मार्कअप और एक ही दस्तावेज़ में परिभाषित इकाइयां सम्मिलित हैं (जैसे दस्तावेज़ प्रकार घोषणा या उप-दस्तावेज़)। इसके विपरीत, एक बाहरी संस्था में एक घोषणा (कंप्यूटर विज्ञान) होती है जो एक बाहरी दस्तावेज़ को आमंत्रित करती है, जिससे बाहरी दस्तावेज़ संदर्भ को हल करने के लिए एक इकाई प्रबंधक के हस्तक्षेप की आवश्यकता होती है।
सिस्टम संस्थाएं
एक इकाई घोषणा का शाब्दिक मूल्य हो सकता है, या वैकल्पिक का कुछ संयोजन हो सकता है SYSTEM
पैरामीटर (कंप्यूटर विज्ञान), जो एसजीएमएल पारसर्स को संसाधन पहचानकर्ता के रूप में एक इकाई के स्ट्रिंग संदर्भ को संसाधित करने की अनुमति देता है, और एक वैकल्पिक PUBLIC
पहचानकर्ता, जो किसी विशेष प्रतिनिधित्व से स्वतंत्र इकाई की पहचान करता है। XML में, SGML का एक सबसेट, एक एंटिटी डिक्लेरेशन में नहीं हो सकता है a PUBLIC
बिना पहचानकर्ता SYSTEM
पहचानकर्ता।
एसजीएमएल दस्तावेज़ इकाई
जब एक बाहरी इकाई एक पूर्ण एसजीएमएल दस्तावेज़ का संदर्भ देती है, तो इसे कॉलिंग दस्तावेज़ में एसजीएमएल दस्तावेज़ इकाई के रूप में जाना जाता है। एक SGML दस्तावेज़ SGML प्रस्तावना (यानी, DTD और उप-दस्तावेज़) में परिभाषित SGML मार्कअप वाला एक टेक्स्ट दस्तावेज़ है। एक पूर्ण SGML दस्तावेज़ में न केवल दस्तावेज़ का उदाहरण सम्मिलित होता है, बल्कि प्रस्तावना और, वैकल्पिक रूप से, SGML घोषणा (जो दस्तावेज़ के मार्कअप सिंटैक्स को परिभाषित करती है और अक्षरों को सांकेतिक अक्षरों में बदलना की घोषणा करती है)।[1]
सिंटेक्स
एक इकाई को दस्तावेज़ के दस्तावेज़ प्रकार की परिभाषा (DTD) में एक इकाई घोषणा के माध्यम से परिभाषित किया गया है। उदाहरण के लिए:
<!ENTITY greeting1 "Hello world">
<!ENTITY greeting2 SYSTEM "file:///hello.txt">
<!ENTITY % greeting3 "¡Hola!">
<!ENTITY greeting4 "%greeting3; means Hello!">
यह डीटीडी मार्कअप निम्नलिखित की घोषणा करता है:
- नाम की एक आंतरिक सामान्य इकाई
greeting1
मौजूद है और इसमें स्ट्रिंग सम्मिलित हैHello world
. - एक बाहरी सामान्य इकाई जिसका नाम है
greeting2
मौजूद है और इसमें यूनिफॉर्म रिसोर्स पहचानकर्ता द्वारा पहचाने गए संसाधन में पाया गया टेक्स्ट सम्मिलित हैfile:///hello.txt
. - एक आंतरिक पैरामीटर इकाई जिसका नाम है
greeting3
मौजूद है और इसमें स्ट्रिंग सम्मिलित है¡Hola!
. - नाम की एक आंतरिक सामान्य इकाई
greeting4
मौजूद है और इसमें स्ट्रिंग सम्मिलित है¡Hola! means Hello!
.
संस्थाओं के नामों को एसजीएमएल नामों के नियमों का पालन करना चाहिए, और ऐसी सीमाएँ हैं जहाँ संस्थाओं को संदर्भित किया जा सकता है।
पैरामीटर संस्थाओं को इकाई नाम के बीच रखकर संदर्भित किया जाता है %
और ;
. पार्स की गई सामान्य संस्थाओं को इकाई नाम के बीच रखकर संदर्भित किया जाता है&
और;
. प्रकार ENTITY के रूप में घोषित एट्रिब्यूट के मान में निकाय नाम रखकर अनपार्स किए गए निकायों का संदर्भ दिया जाता है.
उपरोक्त उदाहरण से सामान्य संस्थाओं को दस्तावेज़ में निम्नानुसार संदर्भित किया जा सकता है:
<content>
<info>'&greeting1;' is a common test string.</info>
<info>The content of hello.txt is: &greeting2;</info>
<info>In Spanish, &greeting4;</info>
</content>
जब पार्स किया जाता है, तो इस दस्तावेज़ को डाउनस्ट्रीम एप्लिकेशन को उसी तरह रिपोर्ट किया जाएगा जैसे कि यह मानते हुए कि इसे निम्नानुसार लिखा गया है hello.txt
फ़ाइल में टेक्स्ट है Salutations
:
<content>
<info>'Hello world' is a common test string.</info>
<info>The content of hello.txt is: Salutations</info>
<info>In Spanish, ¡Hola! means Hello!</info>
</content>
एक अघोषित इकाई का संदर्भ एक त्रुटि है जब तक कि एक डिफ़ॉल्ट इकाई को परिभाषित नहीं किया गया हो। उदाहरण के लिए:
<!ENTITY #DEFAULT "This entity is not defined">
अतिरिक्त मार्कअप निर्माण और प्रोसेसर विकल्प प्रभावित कर सकते हैं कि क्या और कैसे निकाय संसाधित किए जाते हैं। उदाहरण के लिए, एक प्रोसेसर वैकल्पिक रूप से बाहरी संस्थाओं की उपेक्षा कर सकता है।
चरित्र संस्थाएं
एसजीएमएल और इसके कुछ डेरिवेटिव के लिए मानक एंटिटी सेट को स्मृति सहायक डिवाइस के रूप में विकसित किया गया है, ताकि दस्तावेज़ संलेखन को आसान बनाया जा सके, जब ऐसे कैरेक्टर का उपयोग करने की आवश्यकता होती है जो आसानी से टाइप नहीं किए जाते हैं या जो लेगेसी कैरेक्टर एनकोडिंग द्वारा व्यापक रूप से समर्थित नहीं होते हैं। ऐसी प्रत्येक इकाई में यूनिवर्सल कैरेक्टर सेट से सिर्फ एक कैरेक्टर होता है। यद्यपि किसी भी वर्ण को एक संख्यात्मक वर्ण संदर्भ का उपयोग करके संदर्भित किया जा सकता है, एक वर्ण इकाई संदर्भ वर्णों को कोड बिंदु के बजाय नाम से संदर्भित करने की अनुमति देता है।
उदाहरण के लिए, HTML#HTML4 वेरिएशंस में 252 बिल्ट-इन चरित्र इकाई संदर्भ जिन्हें स्पष्ट रूप से घोषित करने की आवश्यकता नहीं है, जबकि XML में पांच हैं। XHTML में XML के समान पाँच हैं, लेकिन यदि इसके DTD स्पष्ट रूप से उपयोग किए जाते हैं, तो इसमें 253 ('
HTML 4 से परे अतिरिक्त इकाई होने के नाते)।
यह भी देखें
- घोषणात्मक प्रोग्रामिंग
- वस्तु (कंप्यूटर विज्ञान)
- एक्सएमएल और एचटीएमएल चरित्र इकाई संदर्भों की सूची
- एक्सएमएल बाहरी इकाई हमला
टिप्पणियाँ
- ↑ "Web SGML and HTML 4.0 Explained - Chapter 6". www.is-thought.co.uk. Archived from the original on 2009-02-05.
संदर्भ
- Goldfarb, Charles F. (Ed.). ISO 8879 Review: WG8 N1855. WG8 and Liaisons, 1996.
- Goldfarb, Charles F., and Yuri Rubinsky (Ed.). The SGML Handbook. Oxford University Press, 1991.