xml ट्यूटोरियल
Xml के साथ आरंभ करना
खोज…
टिप्पणियों
XML एक मार्कअप भाषा है जिसका उपयोग टेक्स्ट फ़ाइलों में पदानुक्रमित डेटा को संग्रहीत करने के लिए किया जाता है। इसे JSON की तरह अर्ध-संरचित डेटा के रूप में भी जाना जाता है। एक्सएमएल मशीन-पठनीय है, फिर भी लोगों द्वारा पढ़ा और उत्पादित किया जा सकता है।
XML तत्वों से बना है, कभी-कभी लापरवाही से एक टैग सूप के रूप में संदर्भित किया जाता है, जिसमें स्वयं अन्य तत्व और / या पाठ हो सकते हैं। तत्वों में विशेषताएँ भी हो सकती हैं।
XML का उपयोग अक्सर प्लेटफ़ॉर्म के बीच डेटा विनिमय के लिए किया जाता है, विशेष रूप से इंटरनेट पर। यह NoSQL डेटा स्टोर्स (XML डेटाबेस / डॉक्यूमेंट स्टोर्स) में अर्ध-संरचित डेटा को संग्रहीत करने के लिए भी तेजी से उपयोग किया जाता है। इसके अलावा, इसमें दस्तावेज़-उन्मुख डेटा (मार्कअप के साथ पाठ) को संभालने की सुविधा है, जो इसे प्रकाशन उद्योग में बहुत लोकप्रिय बनाता है। XML का उपयोग व्यापक रूप से कॉन्फ़िगरेशन फ़ाइलों के लिए भी किया जाता है।
XML के इतने व्यापक रूप से उपयोग किए जाने का एक मुख्य कारण यह है कि इसे मानकीकृत किया गया है, जिसमें खुले स्रोत सहित कई पार्सर उपलब्ध हैं। यह किसी के नए सिंटैक्स के आविष्कार की तुलना में XML का उपयोग करने की लागत को कम करता है।
XML की उत्पत्ति और लक्ष्यों के बारे में अधिक जानकारी आधिकारिक W3C अनुशंसा में पाई जा सकती है।
XML के दो संस्करण हैं, नीचे दी गई तालिका में दिखाया गया है। प्रत्येक संस्करण के संस्करण मूल दस्तावेजों के संशोधन हैं और मानकों के परिवर्तन नहीं हैं।
XML का पहला संस्करण 1.0 है । 2.0 से 3.1 तक यूनिकोड संस्करण परिवर्तन के कारण XML 1.1 को प्राथमिक रूप से बदल दिया गया था और नए यूनिकोड वर्णों के उपयोग और व्याख्या के लिए नए नियमों का एक सेट निर्दिष्ट करता है।
संस्करण
संस्करण | रिलीज़ की तारीख |
---|---|
1.0 | 1998/02/10 |
1.1 | 2001/12/13 |
स्थापना या सेटअप
XML एक सिंटैक्स है, जिसका अर्थ है कि एक साधारण पाठ संपादक आरंभ करने के लिए पर्याप्त है।
हालाँकि, XML- विशिष्ट संपादक होने से आपको पता चलता है कि आपका दस्तावेज़ कब और कहाँ ठीक नहीं हुआ है, यह उत्पादकता के लिए लगभग अपरिहार्य है। ऐसे संपादक आपको एक्सएमएल स्कीमा के खिलाफ एक्सएमएल दस्तावेजों को मान्य करने की अनुमति दे सकते हैं, या एक्सएमएल दस्तावेजों से XML स्कीमा भी उत्पन्न कर सकते हैं (और इसके विपरीत)।
संपादकों के कुछ उदाहरण ऑक्सिजन, एटम, एक्लिप्स और अल्टोवा XMLSpy हैं। एक वैकल्पिक समाधान Apache Xerces जैसे कमांड-लाइन XML पार्सर का उपयोग करना है।
बुनियादी इमारत ब्लॉक
XML मूल बिल्डिंग ब्लॉक्स से बना है, जो हैं:
- तत्त्व
- टेक्स्ट
- गुण
- टिप्पणियाँ
- प्रसंस्करण निर्देश
एक तत्व में कोण कोष्ठक होते हैं:
<element/>
<element>some content</element>
एक प्रारंभिक तत्व टैग में एक विशेषता दिखाई देती है:
<element
attribute-name="attribute value"
other-attribute='single-quoted value'>
...
</element>
पाठ कहीं भी या तत्वों के बीच प्रकट हो सकता है:
<element>some more <b>bold</b> text</element>
टिप्पणियाँ निम्नलिखित सिंटैक्स का उपयोग करती हैं। यह जानना महत्वपूर्ण है कि प्रोग्रामिंग भाषाओं के विपरीत, XML टिप्पणियाँ मॉडल का हिस्सा हैं, और पार्सर के ऊपर के अनुप्रयोग को दिखाई देगा।
<!-- this is a comment -->
प्रसंस्करण निर्देश उपभोग करने वाले एप्लिकेशन को संदेश भेजने की अनुमति देते हैं (जैसे, कैसे प्रदर्शित करें, या एक स्टाइलशीट, आदि)। XML संसाधन निर्देशों के प्रारूप को प्रतिबंधित नहीं करता है।
<?target-application these are some instructions?>
बिल्डिंग ब्लॉक्स पर अधिक विवरण इस विषय में पाए जा सकते हैं
अच्छे प्रकार से निर्मित
एक्सएमएल दस्तावेज़ एक पाठ फ़ाइल है जो एक्सएमएल विनिर्देश के सुव्यवस्थित नियमों के अनुरूप है। इस तरह के एक अनुरूप दस्तावेज को अच्छी तरह से गठित ( वैध के साथ भ्रमित नहीं होना) कहा जाता है। HTML जैसी अन्य भाषाओं की तुलना में XML अच्छी तरह से गठित होने के साथ बहुत सख्त है। एक पाठ फ़ाइल जो अच्छी तरह से गठित नहीं है, उसे एक्सएमएल नहीं माना जाता है और इसका उपयोग अनुप्रयोगों का सेवन करने से बिल्कुल नहीं किया जा सकता है।
यहाँ कुछ नियम हैं जो XML दस्तावेजों पर लागू होते हैं:
XML एक बहुत स्व-वर्णन वाक्यविन्यास का उपयोग करता है। एक प्रोलॉग XML संस्करण और वर्ण एन्कोडिंग को परिभाषित करता है:
<?xml version="1.0" encoding="UTF-8"?>
बिल्कुल एक शीर्ष-स्तरीय तत्व होना चाहिए।
हालांकि, टिप्पणियां, प्रसंस्करण निर्देश, साथ ही प्रारंभिक एक्सएमएल घोषणा, शीर्ष स्तर पर भी अनुमति दी जाती है। पाठ और विशेषताएँ नहीं हैं।
<?xml version="1.0"?> <!-- some comments --> <?app a processing instruction?> <root/> <!-- some more comments -->
तत्व घोंसला बना सकते हैं, लेकिन "ठीक से नेस्टेड" होना चाहिए:
<name> <first-name>John</first-name> <last-name>Doe</last-name> </name>
एक एम्बेडेड तत्व का प्रारंभ और अंत टैग उसके कंटेनर तत्व के प्रारंभ और अंत टैग के भीतर होना चाहिए। तत्वों का ओवरलैपिंग अवैध है। विशेष रूप से, यह अच्छी तरह से गठित XML नहीं है:
<foo><bar></foo></bar>
गुण केवल तत्व टैग या रिक्त तत्व टैग खोलने में दिखाई दे सकते हैं, तत्व टैग बंद करने में नहीं। यदि तत्व के बीच विशेषता सिंटैक्स दिखाई देता है, तो इसका कोई अर्थ नहीं है और पाठ के रूप में पार्स किया गया है।
<person first-name="John" last-name="Doe"/>
यह अच्छी तरह से गठित नहीं है:
<person></person first-name="John"/>
टिप्पणियां, प्रसंस्करण निर्देश, पाठ और आगे के तत्व एक तत्व के अंदर कहीं भी दिखाई दे सकते हैं (यानी, इसके उद्घाटन और समापन टैग के बीच) लेकिन टैग के अंदर नहीं।
<element> This is some <b>bold</b> text. <!-- the b tag has no particular meaning in XML --> </element>
यह उदाहरण अच्छी तरह से गठित नहीं है:
<element <-- comment --> />
<
चरित्र पाठ में या विशेषता मूल्यों में प्रकट नहीं हो सकता है।"
वर्ण उन विशेषता मानों में प्रकट नहीं हो सकता है जिन्हें उद्धृत किया गया है"
।'
वर्ण उन विशेषता मानों में प्रकट नहीं हो सकता है जिन्हें उद्धृत किया गया है'
।पात्रों का क्रम
--
एक टिप्पणी में प्रकट नहीं हो सकता है।शाब्दिक
<
और&
पात्रों उनके संबंधित संस्थाओं द्वारा भाग निकले किया जाना चाहिए<
और&
।
नमस्ते दुनिया
<?xml version="1.0"?>
<?speech-generator voice="Siri"?>
<root xmlns:vocabulary="http://www.example.com/vocabulary">
<!-- These are the standard greetings -->
<vocabulary:greetings>
<vocabulary:greeting xml:lang="en-US" type="informal">
Hi!
</vocabulary:greeting>
<vocabulary:greeting xml:lang="en-US" type="intermediate">
Hello!
</vocabulary:greeting>
<vocabulary:greeting xml:lang="en-US" type="formal">
Good morning to <b>you</b>!
</vocabulary:greeting>
</vocabulary:greetings>
</root>
नेमस्पेस
तत्व और विशेषता नाम ऐसे नामस्थानों में रहते हैं जो URI हैं। नामस्थान उपसर्गों के लिए बाध्य होते हैं जो वास्तविक तत्व और विशेषता नामों में उपयोग किए जाते हैं, जिन्हें QNames कहा जाता है।
यह दस्तावेज़ उपसर्ग prefix
लिए एक नाम स्थान को बांधता है और prefix
की अनुपस्थिति के साथ बाध्य एक डिफ़ॉल्ट नाम स्थान को परिभाषित करता है।
<?xml version="1.0"?>
<document
xmlns="http://www.example.com/default-namespace"
xmlns:prefix="http://www.example.com/another-namespace">
<prefix:element/>
</document>
इस विषय में नामस्थानों के बारे में अधिक जानकारी प्राप्त की जा सकती है