एक्सएमएल (XML - Extensible Markup Language) का पूर्ण रूप एक्सटेंसिबल मार्कअप लैंग्वेज है। यह एक मार्कअप भाषा है जिसका उपयोग डेटा को संग्रहीत करने और उसे सुव्यवस्थित रूप से वितरित करने के लिए किया जाता है। एचटीएमएल के विपरीत, एक्सएमएल में हम अपने स्वयं के टैग बना सकते हैं, इसीलिए इसे विस्तार योग्य (Extensible) कहा जाता है। एक्सएमएल का मुख्य उद्देश्य डेटा को इस प्रकार वर्णित करना है कि वह मानव तथा मशीन दोनों के लिए पठनीय हो। एक्सएमएल डेटा को सादे टेक्स्ट के रूप में संग्रहीत करता है, जिससे वह विभिन्न प्रणालियों के बीच आसानी से आदान-प्रदान हो सकता है। इंटरनेट पर डेटा विनिमय, वेब सेवाओं, आरएसएस फीड और डेटा भंडारण में एक्सएमएल का व्यापक उपयोग होता है। यह एक स्व-वर्णनात्मक (Self-describing) भाषा है जिसका अर्थ है कि डेटा के साथ उसका वर्णन भी जुड़ा रहता है।
2. एक्सएमएल की विशेषताएँ (Features of XML)
स्व-वर्णनात्मक (Self-describing): टैग स्वयं डेटा के बारे में बताते हैं, जैसे <नाम>राहुल</नाम>।
विस्तार योग्य (Extensible): हम अपनी आवश्यकता अनुसार नए टैग बना सकते हैं।
प्लेटफ़ॉर्म स्वतंत्र (Platform Independent): एक्सएमएल फाइलें किसी भी ऑपरेटिंग सिस्टम पर चल सकती हैं।
सादा टेक्स्ट (Plain Text): एक्सएमएल डेटा सादे टेक्स्ट में संग्रहीत होता है।
कठोर नियम (Strict Rules): एक्सएमएल के नियमों का सख्ती से पालन करना होता है।
स्व-परीक्षण (Self-validating): गलत टैग बंद करने या गलत संरचना पर एक्सएमएल त्रुटि देता है।
डेटा और प्रस्तुति का पृथक्करण: एक्सएमएल केवल डेटा रखता है, प्रस्तुति सीएसएस या एक्सएसएलटी द्वारा की जाती है।
3. एचटीएमएल और एक्सएमएल में अंतर (HTML vs XML)
एचटीएमएल और एक्सएमएल दोनों मार्कअप भाषाएँ हैं, परंतु इनके उद्देश्य भिन्न हैं:
एचटीएमएल डेटा को प्रदर्शित (Display) करने के लिए है, जबकि एक्सएमएल डेटा का वर्णन (Describe) करने के लिए है।
एचटीएमएल में टैग पूर्व-निर्धारित होते हैं, जबकि एक्सएमएल में हम स्वयं टैग बना सकते हैं।
एचटीएमएल में टैग को बंद करना अनिवार्य नहीं, परंतु एक्सएमएल में प्रत्येक टैग को बंद करना अनिवार्य है।
एचटीएमएल केस सेंसिटिव नहीं होता, जबकि एक्सएमएल केस सेंसिटिव होता है।
एक्सएमएल में सही संरचना (Well-formed) अनिवार्य है, एचटीएमएल में गलती होने पर ब्राउज़र सुधार लेता है।
4. एक्सएमएल दस्तावेज़ की संरचना (Structure of XML Document)
एक एक्सएमएल दस्तावेज़ निम्नलिखित भागों से बना होता है:
4.1 प्रोलॉग (Prolog)
यह एक्सएमएल दस्तावेज़ की पहली पंक्ति में होता है। यह एक्सएमएल की घोषणा (Declaration) और वैकल्पिक जानकारी रखता है।
<?xml version="1.0" encoding="UTF-8"?>
version एक्सएमएल का संस्करण (सामान्यतः 1.0) बताता है।
encoding वर्ण एन्कोडिंग (जैसे UTF-8, ISO-8859-1) बताता है।
standalone बताता है कि दस्तावेज़ बाहरी फाइल पर निर्भर है या नहीं।
4.2 रूट तत्व (Root Element)
प्रत्येक एक्सएमएल दस्तावेज़ में एक और केवल एक ही रूट तत्व होता है जो सभी अन्य तत्वों को अपने अंदर रखता है। यह एक्सएमएल की मूलभूत आवश्यकता है।
4.3 बाल तत्व (Child Elements)
रूट तत्व के अंदर के तत्व बाल तत्व कहलाते हैं। इनमें डेटा या अन्य तत्व हो सकते हैं।
4.4 एट्रिब्यूट (Attributes)
तत्वों के बारे में अतिरिक्त जानकारी देने वाले गुण। ये प्रारंभिक टैग के अंदर लिखे जाते हैं।
यहाँ <विद्यार्थी> रूट तत्व है तथा <नाम>, <कक्षा>, <विषय> बाल तत्व हैं।
5. एक्सएमएल के नियम (Rules of XML)
एक्सएमएल दस्तावेज़ को सही (Well-formed) होने के लिए निम्नलिखित नियमों का पालन करना अनिवार्य है:
प्रत्येक प्रारंभिक टैग के लिए समाप्ति टैग होना अनिवार्य है।
एक्सएमएल केस सेंसिटिव है, अर्थात <नाम> और <नाम > के साथ </नाम> और </नाम> अलग-अलग माने जाएँगे। प्रारंभ और समाप्ति टैग का केस बिल्कुल समान होना चाहिए।
तत्वों का सही क्रम (Nesting) होना चाहिए, अर्थात टैग का क्रम ठीक से बंद होना चाहिए।
रूट तत्व केवल एक ही होना चाहिए।
एट्रिब्यूट मान दोहरे उद्धरण चिह्न (" ") या एकल उद्धरण चिह्न (' ') में लिखे जाने चाहिए।
टैग नाम में स्थान (Space) नहीं हो सकता। नाम किसी अक्षर या अंडरस्कोर से शुरू होना चाहिए।
एक्सएमएल टैग में सीधे < और > चिह्न डेटा के रूप में नहीं लिखे जा सकते, इनके लिए इकाई (Entity) संदर्भ का उपयोग होता है।
टिप्पणी लिखने के लिए <!-- टिप्पणी --> का उपयोग होता है।
विशेष वर्ण इकाई (Special Character Entities)
वर्ण
इकाई संदर्भ
अर्थ
<
<
less than
>
>
greater than
&
&
ampersand
"
"
double quote
'
'
apostrophe
6. एक्सएमएल तत्वों के प्रकार (Types of XML Elements)
रूट तत्व (Root Element): दस्तावेज़ का मुख्य तत्व, जैसे <विद्यार्थी>।
बाल तत्व (Child Element): रूट के अंदर के तत्व।
समान तत्व (Sibling Element): एक ही स्तर पर स्थित तत्व।
पैरेंट-चाइल्ड संबंध (Parent-Child): यदि कोई तत्व किसी तत्व के अंदर है, तो बाहरी तत्व पैरेंट और अंदर वाला चाइल्ड कहलाता है।
खाली तत्व (Empty Element): जिसमें कोई डेटा न हो, जैसे <चित्र />।
7. एक्सएमएल एट्रिब्यूट (XML Attributes)
एट्रिब्यूट तत्व के बारे में अतिरिक्त जानकारी देते हैं। ये प्रारंभिक टैग के अंदर name="value" के रूप में लिखे जाते हैं।
<पुस्तक शीर्षक="गणित" पृष्ठ="300">कक्षा 10 की पुस्तक</पुस्तक>
यहाँ शीर्षक और पृष्ठ एट्रिब्यूट हैं। एट्रिब्यूट के मान हमेशा उद्धरण चिह्नों में होते हैं। एक तत्व में एक से अधिक एट्रिब्यूट हो सकते हैं, परंतु एक ही तत्व में समान नाम के दो एट्रिब्यूट नहीं हो सकते।
तत्व डेटा बनाम एट्रिब्यूट
तत्व का डेटा बाल तत्वों या टेक्स्ट के रूप में होता है।
एट्रिब्यूट मुख्य डेटा नहीं बल्कि अतिरिक्त मेटाडेटा रखते हैं।
सामान्य नियम है कि वास्तविक डेटा को तत्व में रखें और अतिरिक्त जानकारी को एट्रिब्यूट में।
8. एक्सएमएल डीटीडी और स्कीमा (DTD and Schema)
एक्सएमएल दस्तावेज़ की संरचना और नियमों को परिभाषित करने के लिए डीटीडी (Document Type Definition) और एक्सएमएल स्कीमा का उपयोग होता है। ये बताते हैं कि दस्तावेज़ में कौन से तत्व हो सकते हैं, उनके गुण क्या होंगे और डेटा किस प्रकार का होगा। यदि कोई दस्तावेज़ डीटीडी के नियमों का पालन करता है, तो उसे वैध (Valid) दस्तावेज़ कहते हैं। यदि वह केवल एक्सएमएल की मूलभूत संरचना का पालन करता है, तो उसे सुगठित (Well-formed) कहते हैं।
डीटीडी: एक पुरानी और सरल विधि है, जो तत्व और एट्रिब्यूट की घोषणा करती है।
एक्सएमएल स्कीमा (XSD): आधुनिक और अधिक शक्तिशाली विधि है, जो डेटा प्रकारों का भी निर्धारण करती है।
9. एक्सएमएल के उपयोग (Uses of XML)
डेटा विनिमय (Data Interchange): विभिन्न प्रणालियों के बीच डेटा का आदान-प्रदान।
वेब सेवाएँ (Web Services): सेवाओं के बीच डेटा भेजने के लिए।
आरएसएस फीड (RSS Feeds): समाचार और ब्लॉग सामग्री वितरण।
सोफ़-डिज़ाइन: एसवीजी, माइक्रोसॉफ्ट ऑफिस फाइलें (docx, xlsx) एक्सएमएल पर आधारित हैं।
मोबाइल एप्लिकेशन डेटा: एंड्रॉइड में लेआउट एक्सएमएल में बनते हैं।
त्वरित पुनरावृत्ति तालिकाएँ
तालिका 1: एचटीएमएल बनाम एक्सएमएल
विशेषता
एचटीएमएल
एक्सएमएल
उद्देश्य
डेटा प्रदर्शित करना
डेटा का वर्णन करना
टैग
पूर्व-निर्धारित
स्वयं निर्मित
टैग बंद करना
अनिवार्य नहीं
अनिवार्य
केस सेंसिटिव
नहीं
हाँ
रूट तत्व
नहीं होता
अनिवार्य होता है
तालिका 2: एक्सएमएल विशेष वर्ण इकाई
वर्ण
इकाई संदर्भ
<
<
>
>
&
&
"
"
'
'
तालिका 3: एक्सएमएल दस्तावेज़ के भाग
भाग
उदाहरण
कार्य
प्रोलॉग
<?xml version="1.0"?>
संस्करण और एन्कोडिंग घोषणा
रूट तत्व
<विद्यार्थी>
सभी तत्वों का मुख्य कंटेनर
बाल तत्व
<नाम>
डेटा रखने वाले तत्व
एट्रिब्यूट
<पुस्तक शीर्षक="गणित">
अतिरिक्त जानकारी
टिप्पणी
<!-- टिप्पणी -->
स्पष्टीकरण
माइंड मैप
graph TD
A["XML"] --> B["विशेषताएँ"]
B --> B1["स्व-वर्णनात्मक"]
B --> B2["विस्तार योग्य"]
A --> C["संरचना"]
C --> C1["प्रोलॉग"]
C --> C2["रूट तत्व"]
C --> C3["बाल तत्व"]
C --> C4["एट्रिब्यूट"]
A --> D["नियम"]
D --> D1["टैग बंद करना अनिवार्य"]
D --> D2["केस सेंसिटिव"]
D --> D3["केवल एक रूट तत्व"]
A --> E["विशेष इकाई"]
E --> E1["< > &"]
A --> F["उपयोग"]
F --> F1["डेटा विनिमय"]
F --> F2["वेब सेवाएँ"]
महत्वपूर्ण आरेख (SVG)
एक्सएमएल दस्तावेज़ की संरचना
सही और गलत नेस्टिंग
सामान्य गलतियाँ
एक्सएमएल में टैग बंद करना भूलना; एक्सएमएल में प्रत्येक टैग बंद करना अनिवार्य है, एचटीएमएल की तरह नहीं।
केस सेंसिटिविटी की अनदेखी; <नाम> और </नाम> सही है परंतु <नाम> और </नाम> में भिन्नता त्रुटि देगी।
एक से अधिक रूट तत्व रखना; एक्सएमएल दस्तावेज़ में केवल एक रूट तत्व हो सकता है।
टैग नाम में स्थान (Space) रखना; जैसे <मेरा नाम> गलत है, इसके स्थान पर <मेरा_नाम> लिखना चाहिए।
एट्रिब्यूट का मान बिना उद्धरण चिह्नों के लिखना; पृष्ठ=300 गलत है, पृष्ठ="300" सही है।
डेटा में सीधे & या < चिह्न लिखना; इनके लिए & और < इकाई का उपयोग करना चाहिए।
प्रोलॉग को दस्तावेज़ के मध्य में लिखना; प्रोलॉग सदैव पहली पंक्ति में होता है।
परीक्षा युक्तियाँ
एचटीएमएल और एक्सएमएल के बीच के अंतर को तालिका के रूप में याद रखें; यह सबसे पूछा जाने वाला प्रश्न है।
विशेष वर्ण इकाइयों (lt, gt, amp, quot, apos) को रटें।
एक्सएमएल के सभी नियमों को क्रमबद्ध रूप से याद करें, क्योंकि वस्तुनिष्ठ प्रश्न इन पर ही आधारित होते हैं।
एक सरल एक्सएमएल दस्तावेज़ (जैसे छात्र की जानकारी) लिखने का अभ्यास करें।
प्रोलॉग की रचना (<?xml version="1.0" encoding="UTF-8"?>) अक्षरशः याद रखें।
सुगठित (Well-formed) और वैध (Valid) दस्तावेज़ के बीच का अंतर समझें।
टैग नामों के लिए वैध प्रारंभ (अक्षर या अंडरस्कोर) याद रखें।
निष्कर्ष
एक्सएमएल डेटा विनिमय की एक शक्तिशाली भाषा है जो डेटा को संरचित, स्व-वर्णनात्मक और प्लेटफ़ॉर्म स्वतंत्र रूप में प्रस्तुत करती है। इस अध्याय में हमने एक्सएमएल की विशेषताओं, संरचना, नियमों, विशेष वर्ण इकाइयों, एट्रिब्यूट और इसके उपयोगों का अध्ययन किया। एचटीएमएल से इसका मुख्य अंतर यह है कि एचटीएमएल डेटा प्रदर्शित करता है जबकि एक्सएमएल डेटा का वर्णन करता है। वेब सेवाओं और आधुनिक एप्लिकेशनों में एक्सएमएल का महत्वपूर्ण स्थान है। इसकी कठोर नियमावली डेटा की शुद्धता सुनिश्चित करती है। एक्सएमएल का ज्ञान हमें डेटा प्रबंधन और वेब विकास के क्षेत्र में आगे बढ़ने में सहायक सिद्ध होगा। डीटीडी और स्कीमा से हम दस्तावेज़ की संरचना को नियंत्रित कर सकते हैं, जिससे डेटा की गुणवत्ता बनी रहती है।