शुरुआती लोगों के लिए XML ट्यूटोरियल
एक्सएमएल क्या है?
एक्सएमएल ई के लिए खड़ा हैXतनमय MArkupe Lभाषा। यह एक भाषा है (प्रोग्रामिंग भाषा नहीं) जो मार्कअप का उपयोग करती है और विस्तार कर सकती है। यह से व्युत्पन्न है Standard Gसामान्यीकृत MArkupe LXML भी DTDs का उपयोग करता है (Dकब्जे Type DXML दस्तावेज़ संरचना को परिभाषित करने के लिए efinitions) का उपयोग करें।
XML कम्प्यूटेशनल ऑपरेशन और एल्गोरिदम को संभालने के लिए नहीं है। इसलिए, XML एक प्रोग्रामिंग भाषा नहीं है। इसका मुख्य लक्ष्य डेटा को ट्रांसपोर्ट करना है न कि जानकारी प्रदर्शित करना। XML मानवीय पठनीयता और मशीन पठनीयता के बीच की खाई को पाटता है। HTML टैग के विपरीत, XML टैग स्व-वर्णनात्मक होते हैं।
XML एक खुला प्रारूप है। XML का फ़ाइल नाम एक्सटेंशन है .xml
XML का इतिहास
XML की शुरुआत 1996 में हुई थी और इसे पहली बार 1998 में प्रकाशित किया गया था। World Wआईडीई Web Cऑनसोर्टियम (W3C) इसका डेवलपर है एक्सएमएल, और यह एक बन गया W3C अनुशंसा 1998 में।
XML के दो संस्करण हैं.
- XML १
- XML १
XML १ नवीनतम संस्करण है। फिर भी, XML १ सबसे अधिक इस्तेमाल किया जाने वाला संस्करण है।
XML के संपादक हैं:
- टिम ब्रे,
- जीन पाओली,
- सीएम स्परबर्ग,
- ईव मालेर,
- फ़्राँस्वा येरगेउ.
XML विशेषताएँ
XML की कुछ महत्वपूर्ण विशेषताएं इस प्रकार हैं:
- यह विस्तार योग्य और मानव-पठनीय है।
- यह प्लेटफॉर्म और भाषा से स्वतंत्र है।
- यह सफेद स्थान को सुरक्षित रखता है।
- सम्पूर्ण सादगी.
- स्व-वर्णनात्मक प्रकृति.
- यह डेटा को HTML से अलग करता है।
- XML टैग पूर्वनिर्धारित नहीं हैं। आपको अपने कस्टमाइज़्ड टैग परिभाषित करने होंगे।
- XML को डेटा ले जाने के लिए डिज़ाइन किया गया था, न कि डेटा को प्रदर्शित करने के लिए।
- XML का मार्क-अप कोड मनुष्य के लिए समझना आसान है।
- अच्छी तरह से संरचित प्रारूप से प्रोग्राम को पढ़ना और लिखना आसान होता है।
- XML, HTML की तरह एक एक्सटेंसिबल मार्कअप भाषा है।
XML एनकोडिंग
एनकोडिंग यूनिकोड वर्णों को उनके बाइनरी प्रतिनिधित्व में परिवर्तित करने की प्रक्रिया है। UTF का उपयोग XML एनकोडिंग के लिए किया जाता है। utf के लिए खड़ा है Uसीएस (यूसीएस के लिए खड़ा है Universal Cभग्न करनेवाला Sएट) Tफिरौती Fओरमैट.
मुख्य रूप से UTF एन्कोडिंग के दो प्रकार हैं।
- UTF-8: UTF-8 वर्णों को दर्शाने के लिए 8-बिट का उपयोग करता है।
- UTF-16
उदाहरण:
<?xml version="1.0" encoding="UTF-8"?>
यह वर्णों को दर्शाने के लिए 16-बिट्स का उपयोग करता है।
उदाहरण:
<?xml version="1.0" encoding="UTF-16"?>
आप XML घोषणा के अंदर एन्कोडिंग का उपयोग कर सकते हैं। UTF-8 XML में डिफ़ॉल्ट एन्कोडिंग है।
एक्सएमएल सिंटैक्स
नीचे दिया गया कोड खंड मूल XML सिंटैक्स दिखाता है।
<?xml version = "1.0" encoding = "UTF-8" ?> <root> <child> <subchild>.....</subchild> </child> </root>
XML घोषणा
XML घोषणा में XML संस्करण, वर्ण एन्कोडिंग या/और स्टैंडअलोन स्थिति शामिल होती है। घोषणा वैकल्पिक है।
XML घोषणा के लिए वाक्यविन्यास
नीचे दिया गया कोड खंड XML घोषणा के लिए सिंटैक्स दिखाता है।
<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?>
XML घोषणा नियम
XML घोषणा नियम निम्नलिखित हैं.
- यदि XML घोषणा मौजूद है, तो यह सबसे पहले दिखाई देनी चाहिए।
- XML घोषणा केस सेंसिटिव होती है, और इसे लोअरकेस से शुरू होना चाहिए <?xml.
- इसका कोई समापन टैग नहीं है.
XML घोषणा का उदाहरण
निम्नलिखित कोड खंड XML घोषणा का एक उदाहरण दिखाता है।
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
XML टिप्पणियाँ
टिप्पणियाँ वैकल्पिक हैं। टिप्पणियाँ जोड़ने से दस्तावेज़ की सामग्री को समझने में मदद मिलती है।
XML टिप्पणियों के लिए वाक्यविन्यास
एक टिप्पणी इस प्रकार शुरू होती है <!– और साथ समाप्त होता है ->.
निम्नलिखित कोड खंड XML टिप्पणियों के लिए सिंटैक्स दिखाता है।
<!-- Add your comment here -->
XML टैग और तत्व
टैग घोषणाओं को छोड़कर जोड़े के रूप में काम करते हैं। प्रत्येक टैग जोड़ी में एक टैग होता है प्रारंभिक टैग (के रूप में भी जाना जाता है आरंभ टैग) और एक समापन टैग (के रूप में भी जाना जाता है अंत टैग).
टैग नाम संलग्न हैं <>किसी विशेष टैग जोड़ी के लिए, आरंभ और अंत टैग समान होने चाहिए, सिवाय अंत टैग के / के बाद <.
<name>...</name>
प्रारंभिक और समापन टैग के बीच की किसी भी चीज़ को कहा जाता है सामग्री.
प्रारंभिक टैग, सामग्री और समापन टैग, कुल मिलाकर, एक के रूप में संदर्भित किया जाता है तत्व.
Opening tag + content + closing tag = an element
नोट: तत्वों में विशेषताएँ भी हो सकती हैं। आप बहुत जल्द ही विशेषताओं को जान जाएँगे।
आइये नीचे दिए गए तत्व पर विचार करें।
<age>20</age>
उपरोक्त तत्व में,
- उम्र विश्व का सबसे लोकप्रिय एंव तत्व का नाम.
नोट: टैग नाम इसे एक के रूप में भी संदर्भित किया जाता है तत्व or तत्व का नाम.
- – प्रारंभिक टैग
- 25 - सामग्री
- – समापन टैग.
यदि टैग के बीच कोई सामग्री नहीं है, जैसा कि नीचे दिखाया गया है, तो इसे इस रूप में संदर्भित किया जाता है खाली टैग.
<result></result>
XML टैग और तत्व नियम
निम्नलिखित सूची XML टैग और तत्व नियम दिखाती है।
- टैग केस सेंसिटिव होते हैं.
उदाहरण:
सही बात:
<age>20</age>
गलत:
<age>20</Age>
नोट: आयु, उम्र, और उम्र XML में तीन अलग-अलग नाम हैं।
- सभी XML दस्तावेज़ों में एक ही मूल तत्व होना चाहिए।
- सभी तत्वों में एक समापन टैग होना चाहिए (घोषणाओं को छोड़कर)।
- टैग नाम किसी अक्षर या अंडरस्कोर से शुरू होना चाहिए, और यह से शुरू नहीं हो सकता एक्सएमएल।
- टैग नाम में अक्षर, अंक, हाइफ़न, अंडरस्कोर और अवधि हो सकती है। हाइफ़न अंडरस्कोर और अवधि ही एकमात्र विराम चिह्न हैं जिनकी अनुमति है।
- टैग नाम में रिक्त स्थान नहीं हो सकते.
- सभी तत्वों को उचित रूप से नेस्ट किया जाना चाहिए।
उदाहरण:
सही बात:
<b><u>This text is bold and italic</u></b>
गलत:
<b><u>This text is bold and italic.</b></u>
XML विशेषताएँ
किसी तत्व के लिए विशेषता को स्टार्ट टैग में टैग नाम के बाद रखा जाता है। आप अलग-अलग विशेषता नामों वाले एक तत्व के लिए एक से अधिक विशेषताएँ जोड़ सकते हैं।
आइये नीचे दिए गए XML दस्तावेज़ पर विचार करें।
<company name="ABC Holdings" location="London"> <chairman>Mr. John</chairman> <gm>Mr. Wood</gm> </company>
इसमें दो विशेषताएँ हैं कंपनी तत्व, यानी नाम और स्थान .
आइये अध्ययन करें नाम विशेषता,
- नाम=”एबीसी होल्डिंग्स” – एक विशेषता
- नाम – विशेषता नाम
- एबीसी होल्डिंग्स - मान बताइए
नोट: एक विशेषता नाम के रूप में भी जाना जाता है गुण.
इसके अलावा, ध्यान रखें कि उपरोक्त उदाहरण में, कंपनी विश्व का सबसे लोकप्रिय एंव जड़ तत्व।
XML विशेषता नियम
नीचे दी गई सूची XML विशेषता नियम दर्शाती है।
- विशेषता मान उद्धरण चिह्न के भीतर होने चाहिए.
- एक तत्व में एक ही नाम की कई विशेषताएं नहीं हो सकतीं.
विशेषता बनाम तत्व
क्या आप अभी भी विशेषता और तत्व के बीच अंतर को लेकर भ्रमित हैं? यहाँ एक और उदाहरण है।
आइए नीचे दिए गए दस्तावेज़ ए और बी पर विचार करें।
दस्तावेज़ ए:
<teacher subject="English"> <name>Mr. John</name>. <qualification>Graduate</qualification> </teacher>
दस्तावेज़ बी:
<teacher> <subject>English</subject> <name>Mr. John</name> <qualification>Graduate</qualification> </teacher>
दस्तावेज़ ए में, विषय है एक विशेषता।
दस्तावेज़ बी में, विषय है एक तत्व.
XML इकाइयाँ
XML इकाइयाँ क्या हैं?
सरल शब्दों में, इकाइयाँ विशेष वर्णों को दर्शाने का एक तरीका है। इकाइयों को इन नामों से भी जाना जाता है सत्ता संदर्भ.
आपको XML इकाइयों की आवश्यकता क्यों है?
कुछ अक्षर (जैसे ", & <, और इसी तरह) XML में आरक्षित हैं। उन्हें इस रूप में संदर्भित किया जाता है विशेष वर्ण और इसका अन्य प्रयोजनों के लिए सीधे उपयोग नहीं किया जा सकता।
उदाहरण के लिए, < और > प्रतीक a का उपयोग किया जाता है टैगआप कीबोर्ड से सीधे टाइप नहीं कर सकते की तुलना में कम और से अधिक से अधिक इसके बजाय, आपको संस्थाओं का उपयोग करने की आवश्यकता है।
निम्न तालिका कुछ लोकप्रिय XML इकाइयों को दर्शाती है।
चरित्र | विवरण | इकाई नाम | प्रयोग |
---|---|---|---|
" | उद्धरण चिह्न (दोहरा उद्धरण) | quot | " |
& | एम्पसेंड | amp | & |
' | एपोस्ट्रोफी (एकल उद्धरण) | के बाद | ' |
< | Less हस्ताक्षर से | lt | < |
> | से बड़ा चिह्न | gt | > |
उदाहरण:
<friend> <name>My friends are Alice & Jane.</name> </friend>
HTML बनाम XML
HTML और XML के बीच समानताएं
निम्नलिखित सूची HTML और XML के बीच समानताएं दर्शाती है।
- दोनों ही खुले प्रारूप हैं।
- दोनों मार्कअप भाषाएं हैं।
- दोनों ही सामग्री का वर्णन करने के लिए टैग और विशेषताओं का उपयोग करते हैं।
HTML और XML के बीच अंतर
हालाँकि XML HTML जैसा ही है, लेकिन XML HTML का प्रतिस्थापन नहीं है। HTML और XML के बीच कुछ महत्वपूर्ण अंतर भी हैं।
निम्न सूची तालिका HTML और XML के बीच तुलना दिखाती है।
एचटीएमएल | एक्सएमएल | |
---|---|---|
के लिए खड़ा है | हाइपर टेक्स्ट मार्कअप लैंग्वेज | एक्सटेंसिबल मार्कअप लैंग्वेज |
भाषा का प्रकार | एक पूर्वनिर्धारित मार्कअप भाषा. | मार्कअप भाषाओं को निर्दिष्ट करने के लिए एक ढांचा. |
संरचनात्मक विवरण | उपलब्ध नहीं कराया। | प्रदान किया। |
उद्देश्य | डेटा प्रदर्शित करने के लिए उपयोग किया जाता है. | डेटा परिवहन के लिए उपयोग किया जाता है |
द्वारा संचालित | प्रारूप संचालित. | सामग्री-संचालित. |
प्रकृति | स्थिर प्रकृति है. | गतिशील स्वभाव है. |
टैग प्रकार | पूर्वनिर्धारित टैग. | उपयोगकर्ता-परिभाषित टैग. |
टैग सीमा | सीमित संख्या में टैग उपलब्ध हैं। | टैग विस्तार योग्य हैं. |
समापन टैग | समापन टैग का उपयोग करना आवश्यक नहीं है (लेकिन समापन टैग का उपयोग करने की अनुशंसा की जाती है)। | समापन टैग अनिवार्य हैं। |
नामस्थान समर्थन | समर्थित नहीं। | समर्थित। |
मामले की संवेदनशीलता | टैग केस-सेंसिटिव नहीं होते. | टैग केस-सेंसिटिव होते हैं. |
सफेद जगह | श्वेत स्थान को संरक्षित नहीं किया जा सकता (श्वेत स्थान को अनदेखा किया जा सकता है)। | श्वेत स्थान संरक्षित (श्वेत स्थान को अनदेखा नहीं किया जा सकता). |
पार्सिंग Javaलिपि | किसी भी अतिरिक्त आवेदन की जरूरत नहीं. | DOM कार्यान्वयन की आवश्यकता है. |
कोड नेस्टिंग | जरूरी नहीं कि इसकी जरूरत हो. | जरूरत है। |
त्रुटियाँ | छोटी-छोटी त्रुटियों को नजरअंदाज कर सकते हैं। | त्रुटियाँ स्वीकार्य नहीं हैं। |
फ़ाइल नाम एक्सटेंशन | Html. or .htm | . Xml |
आकार | तुलनात्मक रूप से बड़ा. | तुलनात्मक रूप से छोटा. |
कोट्स | विशेषता मानों के लिए उद्धरण आवश्यक नहीं हैं. | XML विशेषता मानों के लिए आवश्यक. |
ऑब्जेक्ट समर्थन | मूल वस्तु समर्थन प्रदान करता है. | वस्तुओं को परम्पराओं द्वारा व्यक्त किया जाना चाहिए। |
शून्य समर्थन | मूलतः शून्य मान को पहचानता है। | तत्वों पर xsi:nil का उपयोग करने की आवश्यकता है। |
प्रारूपण निर्णय | अनुप्रयोग डेटा के लिए प्रत्यक्ष मैपिंग प्रदान करता है। | अधिक सार्थक प्रयास की आवश्यकता है। |
सीखने की अवस्था | Less XML की तुलना में सीखने की अवस्था तीव्र है। | प्रगति चार्ट में गहरा प्रशिक्षण मोड़। |
वेबसाइट | https://html.spec.whatwg.org/ | https://www.w3.org/TR/xml11/ |
मूल HTML वाक्यविन्यास
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> </body> </html>
मूल XML सिंटैक्स
<?xml version = "1.0" encoding = "UTF-8" ?> <root> <child> <subchild>.....</subchild> </child> </root>
HTML और XML के साथ भी यही उदाहरण
HTML के साथ
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <p>Book</p> <p>Name: Anna Karenina</p> <p>Author: Leo Tolstoy</p> <p>Publisher: The Russian Messenger</p> </body> </html>
XML के साथ
<?xml version = "1.0" encoding = "UTF-8" ?> <book> <name>Anna Karenina</name> <author>Leo Tolstoy</author> <publisher>The Russian Messenger</publisher> </book>
JSON बनाम XML
JSON और XML के बीच समानताएं
नीचे दी गई सूची JSON और XML के बीच समानताएं दर्शाती है।
- दोनों ही खुले प्रारूप हैं।
- दोनों ही आत्म-वर्णनात्मक हैं।
- दोनों में पदानुक्रमिक संरचना है।
- दोनों को कई प्रोग्रामिंग भाषाओं द्वारा पार्स और उपयोग किया जा सकता है।
JSON और XML के बीच अंतर
XML और JSON के बीच भी कई अंतर हैं।
नीचे दी गई तालिका JSON और XML के बीच तुलना दर्शाती है।
JSON | एक्सएमएल | |
---|---|---|
के लिए खड़ा है | Javaस्क्रिप्ट ऑब्जेक्ट नोटेशन | एक्सटेंसिबल मार्कअप लैंग्वेज |
से विस्तारित | Javaलिपि | SGML |
आधार सामग्री भंडारण | डेटा कुंजी-मान युग्म के रूप में संग्रहीत किया जाता है। | डेटा को वृक्ष संरचना के रूप में संग्रहीत किया जाता है। |
नेमस्पेस | नामस्थानों के लिए कोई समर्थन नहीं. | नामस्थानों का समर्थन करता है. |
टिप्पणियाँ | टिप्पणियाँ जोड़ना समर्थित नहीं है. | टिप्पणी जोड़ सकते हैं. |
डेटा पहुंच | JSON ऑब्जेक्ट के रूप में आसानी से सुलभ. | डेटा को पार्स करने की आवश्यकता है. |
मेटाडाटा | मेटाडेटा जोड़ना समर्थित नहीं है. | मेटाडेटा लिख सकते हैं. |
प्रकार | JSON प्रकार: स्ट्रिंग, संख्या, सरणी, बूलियन. | सभी XML डेटा होना चाहिए तार. |
समर्थन के डेटा प्रकार | समर्थन करता है टेक्स्ट और संख्या केवल डेटा प्रकार. | अनेक डेटा प्रकारों का समर्थन करें (पाठ, संख्याएं, चित्र, इत्यादि) |
ऐरे का समर्थन | XML की तुलना में arrays के लिए अधिक समर्थन। | सरणियों के लिए कोई या कम समर्थन. |
ऑब्जेक्ट का समर्थन | ऑब्जेक्ट के लिए मूल समर्थन. | वस्तु को परम्पराओं द्वारा अभिव्यक्त किया जाना चाहिए। |
AJAX टूलकिट समर्थन | समर्थित। | पूर्णतः समर्थित नहीं है. |
मान पुनर्प्राप्त करना | आसान। | कठिन। |
डिसेरीलाइज़िंग/सीरीलाइज़िंग | पूर्णतः स्वचालित. | डेवलपर्स को लिखना होगा Javaस्क्रिप्ट कोड. |
ब्राउज़र समर्थन | अधिकांश ब्राउज़रों द्वारा समर्थित. | क्रॉस-ब्राउज़र XML पार्सिंग मुश्किल हो सकती है। |
एन्कोडिंग | केवल UTF-8 एनकोडिंग का समर्थन करता है. | यह विभिन्न एनकोडिंग का समर्थन करता है। |
प्रदर्शन क्षमताएं | कोई प्रदर्शन क्षमता नहीं. | प्रदर्शन क्षमताएं प्रदान करें. |
दस्तावेज़ का आकार | XML से छोटा. | JSON से बड़ा. |
फ़ाइल नाम एक्सटेंशन | .json | . Xml |
सुरक्षा | Less सुरक्षित कर लिया। | JSON से अधिक सुरक्षित. |
पढ़ने में अासान | अपेक्षाकृत आसान. | अपेक्षाकृत कठिन. |
सीखने की अवस्था | सीखने में आसान। | प्रगति चार्ट में गहरा प्रशिक्षण मोड़। |
वेबसाइट | https://www.json.org/json-en.html | https://www.w3.org/TR/xml11/ |
मूल JSON सिंटैक्स
{string:value, .......}
JSON और XML के साथ भी यही उदाहरण
JSON के साथ
{"books":[ {"name":"Anna Karenina", "author":"Leo Tolstoy"}, {"name":"One Hundred Years of Solitude", "author":"Gabriel Garcia Marquez"}, {"name":"The Great Gatsby", "author":"Scott Fitzgerald"}, {"name":"Invisible Man", "author":"Ralph Ellison"} ]}
XML के साथ
<?xml version = "1.0" encoding = "UTF-8" ?> <books> <book> <name>Anna Karenina</name> <author>Leo Tolstoy</author> </book> <book> <name>One Hundred Years of Solitude</name> <author>Gabriel Garcia Marquez</author> </book> <book> <name>The Great Gatsby</name> <author>Scott Fitzgerald</author> </book> <book> <name>Invisible Man</name> <author>Ralph Ellison</author> </book> </books>
एक्सएमएल डीटीडी
डीटीडी क्या है?
डीटीडी का मतलब है Dकब्जे Type Dयह कुछ कानूनी तत्वों का उपयोग करके XML दस्तावेज़ की संरचना को परिभाषित करता है। XML DTD वैकल्पिक है।
डीटीडी नियम
निम्नलिखित सूची DTD नियमों को दर्शाती है।
- यदि DTD मौजूद है, तो उसे दस्तावेज़ के आरंभ में प्रदर्शित होना चाहिए (केवल XML घोषणा ही DTD के ऊपर प्रदर्शित हो सकती है)।
- तत्व घोषणा एक से शुरू होनी चाहिए ! निशान।
- मूल तत्व का DTD नाम और तत्व प्रकार समान होना चाहिए।
डी.टी.डी. के उदाहरण
आंतरिक DTD का उदाहरण:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE student [ <!ELEMENT student (firstname,lastname,school)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT school (#PCDATA)> ]> <student> <firstname>Mark</firstname> <lastname>Wood</lastname> <school>Hills College</school> </student>
उपरोक्त उदाहरण में,
- !DOCTYPE छात्र डी.टी.डी. घोषणा की शुरुआत को इंगित करता है। और छात्र XML दस्तावेज़ का मूल तत्व है.
- !एलिमेंट छात्र इंगित करता है छात्र तत्व में अवश्य शामिल होना चाहिए प्रथम नाम अंतिम नाम और स्कूल तत्वों।
- !ELEMENT प्रथम नाम इंगित करता है firstname तत्व प्रकार का है #पीसीडाटा (Pआर्सेड Cभग्न करनेवाला जानकारी).
- !एलिमेंट अंतिम नाम इंगित करता है उपनाम तत्व प्रकार का है #पीसीडाटा.
- !एलिमेंट स्कूल इंगित करता है स्कूल तत्व प्रकार का है #पीसीडाटा.
बाह्य DTD का उदाहरण:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE student SYSTEM "student.dtd"> <student> <firstname>Mark</firstname> <lastname>Wood</lastname> <school>Hills College</school> </student>
DTD फ़ाइल सामग्री (student.dtd) इस प्रकार है।
<!ELEMENT student (firstname,lastname,school)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT school (#PCDATA)>
एक्सएमएल डोम
DOM क्या है?
DOM का मतलब है Dकब्जे Oवस्तु MOdel. यह XML दस्तावेज़ों तक पहुँचने और उनमें हेरफेर करने का एक मानक तरीका परिभाषित करता है। DOM में एक (पदानुक्रमित) वृक्ष संरचना होती है।
DOM का उदाहरण
आइये नीचे दिए गए XML दस्तावेज़ पर विचार करें।
<?xml version="1.0" encoding="UTF-8" ?> <school> <student> <name> <first_name>Alex</first_name> <last_name>Clarke</last_name> </name> <age>14</age> <address>No. 35, Flower Road, Leeds</address> </student> </school>
उपरोक्त XML फ़ाइल की वृक्ष संरचना निम्नलिखित छवि की तरह दिखाई देगी।
एक्सएमएल सत्यापन
सुगठित XML दस्तावेज़ क्या हैं?
सुडौल XML दस्तावेज़ सही वाक्यविन्यास वाले XML दस्तावेज़ होते हैं।
वैध XML दस्तावेज़ क्या हैं?
वैध XML दस्तावेज़ अच्छी तरह से निर्मित होते हैं और DTD नियमों के अनुरूप भी होते हैं।
XML नामस्थान
नामस्थान क्यों?
नामस्थान तत्व नाम संघर्ष से बचने में मदद करते हैं।
नामस्थान घोषणा
निम्नलिखित नामस्थान घोषणा के लिए वाक्यविन्यास दर्शाता है।
<element xmlns:name="URL">
उपरोक्त घोषणा में,
- RSI एक्सएमएलएनएस कीवर्ड नामस्थान की शुरुआत को इंगित करता है.
- RSI नाम नामस्थान का उपसर्ग है.
- RSI यूआरएल नामस्थान पहचानकर्ता है.
नामस्थान के उदाहरण
निम्नलिखित कोड खंड नामस्थान का एक उदाहरण दिखाता है।
<?xml version="1.0" encoding="UTF-8" ?> <abt:about xmlns:abt="https://www.guru99.com/about-us.html"> <abt:founder>Krishna</abt:founder> <abt:vision>Fun and Free Education for ALL</abt:vision> </abt:about>
XML संपादक
कई XML संपादक उपलब्ध हैं। कोई भी टेक्स्ट एडिटर (जैसे नोटपैड वगैरह) XML एडिटर के रूप में इस्तेमाल किया जा सकता है।
निम्नलिखित सूची 2021 के कुछ लोकप्रिय XML संपादकों को दर्शाती है।
1) XML नोटपैड
XML नोटपैड XML के लिए एक ओपन-सोर्स एडिटर है। इसमें बाएं पैन पर ट्री व्यू और XSL आउटपुट और दाईं ओर नोड टेक्स्ट है। इसमें नीचे की तरफ एक एरर-डीबगिंग विंडो है।
प्रमुख सांख्यिकी:
- प्रकार – XML संपादक
- डेवलपर - Microsoft
- समर्थित ऑपरेटिंग सिस्टम – Microsoft Windows.
- मूल्य - मुफ़्त
लिंक: http://microsoft.github.io/XmlNotepad/
2) स्टाइलस स्टूडियो
स्टाइलस स्टूडियो एक IDE है जो लिखा गया है C++ एक्सटेंसिबल मार्कअप लैंग्वेज (एक्सएमएल) के लिए। यह उपयोगकर्ता को XML दस्तावेज़ों, इलेक्ट्रॉनिक डेटा इंटरचेंज (EDI), CSV और रिलेशनल डेटा जैसे डेटा को संपादित और बदलने की अनुमति देता है।
प्रमुख सांख्यिकी:
- प्रकार – XML के लिए एकीकृत विकास वातावरण (IDE)
- डेवलपर – प्रोग्रेस सॉफ्टवेयर कॉर्पोरेशन
- समर्थित ऑपरेटिंग सिस्टम – Microsoft Windows.
- मूल्य - भुगतान किया गया (कृपया नवीनतम मूल्य के लिए नीचे दी गई वेबसाइट देखें), निःशुल्क परीक्षण उपलब्ध है।
लिंक: http://www.stylusstudio.com/
3) Altova एक्सएमएलस्पाई
XMLSpy को मुख्य रूप से JSON और XML संपादक के रूप में विपणन किया जाता है। इसमें एक अंतर्निहित स्कीमा डिज़ाइनर और संपादक है। इसमें Visual Studio और शामिल हैं Eclipse एकीकरण।
प्रमुख सांख्यिकी:
- प्रकार – XML संपादक
- डेवलपर - Altova
- समर्थित ऑपरेटिंग सिस्टम – Microsoft Windows.
- मूल्य - भुगतान किया गया (कृपया नवीनतम मूल्य के लिए नीचे दी गई वेबसाइट देखें), निःशुल्क परीक्षण उपलब्ध है।
लिंक:https://www.altova.com/xmlspy-xml-editor
4) ऑक्सीजन एक्सएमएल एडिटर
ऑक्सीजन एक्सएमएल एक क्रॉस-प्लेटफॉर्म संपादक है जिसे विकसित किया गया है Javaयह DTD, W3C XML स्कीमा, RELAX NG, स्कीमाट्रॉन, NRL और NVDL स्कीमा जैसे स्कीमा को मान्य करने में मदद करता है।
प्रमुख सांख्यिकी:
- प्रकार – XML संपादक
- डेवलपर - Syncआरओ सॉफ्ट लिमिटेड
- समर्थित ऑपरेटिंग सिस्टम – Windows, लिनक्स, और मैक ओएस एक्स
- मूल्य – भुगतान किया गया (कृपया नवीनतम मूल्य के लिए नीचे दी गई वेबसाइट देखें)
लिंक:https://www.oxygenxml.com/
5) एक्सम्प्लिफाई
एक्सम्प्लीफाई XML संपादक, DTD और XML स्कीमा-आधारित स्वचालित, स्वचालित दस्तावेज़ सत्यापन आदि के साथ पूर्णतः XML-जागरूक संपादन वातावरण प्रदान करता है।
प्रमुख सांख्यिकी:
- प्रकार – XML संपादक
- डेवलपर – मोसो कॉर्पोरेशन
- समर्थित ऑपरेटिंग सिस्टम – मैक ओएस.
- मूल्य – भुगतान किया गया (कृपया नवीनतम मूल्य के लिए नीचे दी गई वेबसाइट देखें)
लिंक: http://xmplifyapp.com/
एक्सएमएल पार्सर्स
XML पार्सर एक सॉफ्टवेयर लाइब्रेरी है जो XML दस्तावेजों के साथ काम करने के लिए एक इंटरफ़ेस प्रदान करता है। यह जाँचता है कि XML दस्तावेज़ का प्रारूप सही है या नहीं। कुछ पार्सर XML दस्तावेज़ों को मान्य भी कर सकते हैं। आधुनिक ब्राउज़र XML पार्सर के साथ आते हैं।
SAX
SAX के लिए खड़ा है Sलागू करना Aपीआई के लिए Xएम.एल. यह एक application pरोग्राम iइंटरफ़ेस (API) XML दस्तावेज़ों को पार्स करने के लिए। वे इवेंट हैंडलर्स के समान व्यवहार करते हैं Java.
DOM के विपरीत, SAX इवेंट-आधारित XML पार्सर का एक उदाहरण है।
SAX और DOM के बीच कुछ महत्वपूर्ण अंतर यहां दिए गए हैं।
SAX | डोम | |
---|---|---|
के लिए खड़ा है | एक्सएमएल के लिए सरल एपीआई | दस्तावेज़ ऑब्जेक्ट मॉडल |
पार्सर का प्रकार | घटना के आधार पर | वस्तु आधारित |
XML पढ़ें और लिखें | केवल पढ़ने के लिए | दोनों पढ़ें और लिखें |
नोड्स डालें/अपडेट करें/हटाएं | नोड्स सम्मिलित/अद्यतन/हटाए नहीं जा सकते | नोड्स सम्मिलित/अद्यतन/हटा सकते हैं |
स्मृति दक्षता | अच्छी स्मृति दक्षता | बदलता रहता है |
गति | DOM पार्सर से धीमा | SAX पार्सर से भी तेज |
के लिए उपयुक्त | छोटे आकार की फ़ाइलें | बड़े आकार की फ़ाइलें |
XML डेटा बाइंडिंग
XML डेटा बाइंडिंग, कंप्यूटर की मेमोरी में एक व्यावसायिक ऑब्जेक्ट के रूप में XML दस्तावेज़ में डेटा का प्रतिनिधित्व है।
XML डेटा बाइंडिंग के लिए तीन दृष्टिकोण हैं।
- XML स्कीमा-आधारित डेटा बाइंडिंग: स्कीमा के आधार पर संगत XML क्लासेस बनाई जाती हैं।
- वर्ग-आधारित डेटा बाइंडिंग: कक्षाओं के आधार पर एक संगत XML स्कीमा बनाई जाती है।
- मैपिंग-आधारित डेटा बाइंडिंग: यह वर्णन करता है कि एक मौजूदा XML स्कीमा किस प्रकार क्लासों के एक समूह से मैप होती है (और इसके विपरीत)।
XML डेटा बाइंडिंग फ्रेमवर्क भी मौजूद हैं।
उदाहरण:
XML डेटा बाइंडिंग फ्रेमवर्क के साथ आसान है। डेटा बाइंडिंग फ्रेमवर्क आपके लिए बड़ी मात्रा में कोड उत्पन्न करता है। आपको DTD या XML स्कीमा में फ़ीड करना होगा।
XML स्कीमा
एक्सएमएल योजना (भी रूप में जाना जाता है XML स्कीमा परिभाषा or XSD) का उपयोग XML दस्तावेज़ संरचना का वर्णन करने के लिए किया जाता है। यह DTD का एक विकल्प है।
स्कीमा क्यों महत्वपूर्ण है?
DTD स्कीमा के रूप में शक्तिशाली नहीं है क्योंकि यह पर्याप्त रूप से एक्सटेंसिबल और लचीला नहीं है। इसलिए, यह कुछ स्थितियों के लिए उपयुक्त नहीं हो सकता है। ऐसी स्थिति में स्कीमा महत्वपूर्ण है। XML स्कीमा का उपयोग करने का मुख्य उद्देश्य XML दस्तावेज़ के तत्वों और विशेषताओं को परिभाषित करना है।
XML स्कीमा DTD से किस प्रकार भिन्न है?
निम्नलिखित तुलना दर्शाती है कि XSD (XML स्कीमा) DTD से किस प्रकार भिन्न है।
DTD | XSD | |
---|---|---|
के लिए खड़ा है | दस्तावेज़ प्रकार परिभाषा | XML स्कीमा परिभाषा |
तानाना | विस्तार योग्य नहीं | वर्द्धनीय |
XML संरचना पर नियंत्रण | Less नियंत्रण | अधिक नियंत्रण |
समर्थन के डेटा प्रकार | समर्थित नहीं | समर्थित |
नेमस्पेस समर्थन | समर्थित नहीं | समर्थित |
निम्नलिखित कोड खंड XML स्कीमा का एक उदाहरण दिखाता है।
xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema"> <xs:element name = "employee"> <xs:complexType> <xs:sequence> <xs:element name = "firstname" type = "xs:string" /> <xs:element name = "lastname" type = "xs:string" /> <xs:element name = "phone" type = "xs:int" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
XML के लाभ
यहां, XML के पक्ष/लाभ:
- इससे डेटा का परिवहन और साझा करना आसान हो गया।
- XML विभिन्न प्लेटफार्मों के बीच डेटा के आदान-प्रदान को बेहतर बनाता है।
- यह एक मार्कअप भाषा है, जो किसी टेक्स्ट दस्तावेज़ में रखे गए वर्णों या/और प्रतीकों का एक समूह है।
- XML यह इंगित करता है कि XML दस्तावेज़ प्रदर्शित होने के बाद कैसा दिखना चाहिए।
- यह प्लेटफ़ॉर्म परिवर्तन प्रक्रिया को सरल बनाता है।
- यह डेटा उपलब्धता को बढ़ाता है।
- यह बहुभाषी दस्तावेजों और यूनिकोड का समर्थन करता है।
- सीखने और कोड करने में अपेक्षाकृत आसान।
- यह एक मार्कअप भाषा है, जो किसी टेक्स्ट दस्तावेज़ में रखे गए वर्णों या/और प्रतीकों का एक समूह है।
- यह DTD और स्कीमा का उपयोग करके सत्यापन करता है।
- दस्तावेज़ों को सिस्टम और एप्लिकेशन के बीच परिवहन योग्य बनाता है। XML की मदद से, आप विभिन्न प्लेटफ़ॉर्म के बीच डेटा का तेज़ी से आदान-प्रदान कर सकते हैं।
- XML डेटा को HTML से अलग करता है।
XML के नुकसान
XML का उपयोग करने के नुकसान/कमी इस प्रकार हैं:
- XML को प्रसंस्करण अनुप्रयोग की आवश्यकता होती है।
- XML सिंटैक्स अन्य वैकल्पिक 'टेक्स्ट-आधारित' डेटा ट्रांसमिशन प्रारूपों के समान है, जो कभी-कभी भ्रमित करने वाला होता है।
- कोई अंतर्निहित डेटा प्रकार समर्थन नहीं
- XML वाक्यविन्यास अनावश्यक है.
- उपयोगकर्ता को अपना टैग बनाने की अनुमति नहीं देता है।
सारांश
- XML का मतलब है एक्सटेंसिबल मार्कअप लैंग्वेज। XML एक भाषा है (प्रोग्रामिंग भाषा नहीं) जो मार्कअप का उपयोग करती है और विस्तारित हो सकती है।
- इसका मुख्य लक्ष्य डेटा का परिवहन करना है, डेटा प्रदर्शित करना नहीं।
- XML 1.1 नवीनतम संस्करण है। फिर भी, XML 1.0 सबसे अधिक उपयोग किया जाने वाला संस्करण है।
- घोषणाओं को छोड़कर टैग जोड़े के रूप में काम करते हैं।
- प्रारंभिक टैग + सामग्री + समापन टैग = एक तत्व
- निकाय विशेष वर्णों को प्रस्तुत करने का एक तरीका है।
- DTD का मतलब है डॉक्यूमेंट टाइप डेफ़िनेशन। यह कुछ कानूनी तत्वों का उपयोग करके XML दस्तावेज़ की संरचना को परिभाषित करता है। XML DTD वैकल्पिक है।
- DOM का मतलब है डॉक्यूमेंट ऑब्जेक्ट मॉडल। यह XML दस्तावेज़ों तक पहुँचने और उनमें हेरफेर करने का एक मानक तरीका परिभाषित करता है।
- अच्छी तरह से निर्मित XML दस्तावेज़ सही वाक्यविन्यास वाले XML दस्तावेज़ होते हैं।
- वैध XML दस्तावेज़ अच्छी तरह से निर्मित होते हैं और DTD नियमों के अनुरूप भी होते हैं।
- नामस्थान तत्व नाम संघर्ष से बचने में मदद करते हैं।