एक्सएमएल ट्यूटोरियल

एक्सएमएल होम एक्सएमएल परिचय एक्सएमएल कैसे इस्तेमाल करें एक्सएमएल ट्री एक्सएमएल सिंटैक्स एक्सएमएल तत्व एक्सएमएल गुण एक्सएमएल नेमस्पेस एक्सएमएल डिस्प्ले एक्सएमएल एचटीपीअनुरोध एक्सएमएल पार्सर एक्सएमएल डोम एक्सएमएल XPath एक्सएमएल एक्सएसएलटी एक्सएमएल XQuery एक्सएमएल एक्सलिंक एक्सएमएल सत्यापनकर्ता एक्सएमएल डीटीडी एक्सएमएल स्कीमा एक्सएमएल सर्वर एक्सएमएल उदाहरण एक्सएमएल प्रश्नोत्तरी एक्सएमएल प्रमाणपत्र

एक्सएमएल अजाक्स

AJAX परिचय अजाक्स एक्सएमएलएचटीपी अजाक्स अनुरोध अजाक्स प्रतिक्रिया अजाक्स एक्सएमएल फ़ाइल अजाक्स पीएचपी अजाक्स एएसपी AJAX डेटाबेस अजाक्स अनुप्रयोग अजाक्स उदाहरण

एक्सएमएल डोम

डोम परिचय डोम नोड्स डोम एक्सेसिंग डोम नोड जानकारी डोम नोड सूची डोम ट्रैवर्सिंग डोम नेविगेटिंग डोम मूल्य प्राप्त करें डोम चेंज नोड्स डोम नोड्स निकालें डोम नोड्स बदलें डोम नोड्स बनाएं डोम नोड्स जोड़ें डोम क्लोन नोड्स डोम उदाहरण

XPath ट्यूटोरियल

XPath परिचय XPath नोड्स XPath सिंटैक्स XPath अक्ष XPath ऑपरेटर्स XPath उदाहरण

एक्सएसएलटी ट्यूटोरियल

एक्सएसएलटी परिचय एक्सएसएल भाषाएं एक्सएसएलटी ट्रांसफॉर्म एक्सएसएलटी <टेम्पलेट> एक्सएसएलटी <मूल्य का> एक्सएसएलटी <प्रत्येक के लिए> एक्सएसएलटी <सॉर्ट> एक्सएसएलटी <अगर> एक्सएसएलटी <चुनें> एक्सएसएलटी लागू करें क्लाइंट पर एक्सएसएलटी सर्वर पर एक्सएसएलटी एक्सएसएलटी एक्सएमएल संपादित करें एक्सएसएलटी उदाहरण

XQuery ट्यूटोरियल

XQuery परिचय XQuery उदाहरण XQuery FLWOR XQuery एचटीएमएल XQuery शर्तें XQuery सिंटैक्स XQuery जोड़ें XQuery चुनें XQuery कार्य

एक्सएमएल डीटीडी

डीटीडी परिचय डीटीडी बिल्डिंग ब्लॉक्स डीटीडी तत्व डीटीडी गुण DTD एलिमेंट्स बनाम Attr डीटीडी इकाइयां डीटीडी उदाहरण

एक्सएसडी स्कीमा

एक्सएसडी परिचय एक्सएसडी कैसे करें एक्सएसडी <स्कीमा> एक्सएसडी तत्व एक्सएसडी गुण एक्सएसडी प्रतिबंध

एक्सएसडी कॉम्प्लेक्स

एक्सएसडी तत्व एक्सएसडी खाली केवल एक्सएसडी तत्व केवल एक्सएसडी पाठ एक्सएसडी मिश्रित एक्सएसडी संकेतक एक्सएसडी <कोई भी> एक्सएसडी <anyAttribute> एक्सएसडी प्रतिस्थापन एक्सएसडी उदाहरण

एक्सएसडी डेटा

एक्सएसडी स्ट्रिंग एक्सएसडी तिथि एक्सएसडी न्यूमेरिक एक्सएसडी विविध एक्सएसडी संदर्भ

वेब सेवाएं

एक्सएमएल सेवाएं एक्सएमएल डब्लूएसडीएल एक्सएमएल साबुन एक्सएमएल आरडीएफ एक्सएमएल आरएसएस

संदर्भ

डोम नोड प्रकार डोम नोड डोम नोडसूची डोम नेम नोडमैप डोम दस्तावेज़ डोम तत्व डोम विशेषता डोम टेक्स्ट डोम सीडीएटीए डोम टिप्पणी डोम एक्सएमएलएचटीपीअनुरोध डोम पार्सर एक्सएसएलटी तत्व एक्सएसएलटी/XPath फ़ंक्शंस

एक्सएमएल डोम ट्रैवर्स नोड ट्री


ट्रैवर्सिंग का अर्थ है नोड ट्री के माध्यम से लूप करना या यात्रा करना।


नोड ट्री को पार करना

अक्सर आप एक XML दस्तावेज़ को लूप करना चाहते हैं, उदाहरण के लिए: जब आप प्रत्येक तत्व का मान निकालना चाहते हैं।

इसे "ट्रैवर्सिंग द नोड ट्री" कहा जाता है

नीचे दिया गया उदाहरण <book> के सभी चाइल्ड नोड्स से होकर गुजरता है, और उनके नाम और मान प्रदर्शित करता है:

उदाहरण

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var x, i ,xmlDoc;
var txt = "";
var text = "<book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book>";

parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");

// documentElement always represents the root node
x = xmlDoc.documentElement.childNodes;
for (i = 0; i < x.length ;i++) {
    txt += x[i].nodeName + ": " + x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("demo").innerHTML = txt;
</script>

</body>
</html>

आउटपुट:

title: Everyday Italian
author: Giada De Laurentiis
year: 2005

उदाहरण समझाया:

  1. XML स्ट्रिंग को xmlDoc में लोड करें
  2. मूल तत्व के चाइल्ड नोड्स प्राप्त करें
  3. प्रत्येक चाइल्ड नोड के लिए, नोड नाम और टेक्स्ट नोड का नोड मान आउटपुट करें


डोम पार्सिंग में ब्राउज़र अंतर

सभी आधुनिक ब्राउज़र W3C DOM विनिर्देशन का समर्थन करते हैं।

हालाँकि, ब्राउज़रों के बीच कुछ अंतर हैं। एक महत्वपूर्ण अंतर है:

  • जिस तरह से वे सफेद-रिक्त स्थान और नई लाइनों को संभालते हैं

डोम - सफेद स्थान और नई रेखाएं

एक्सएमएल में अक्सर नोड्स के बीच नई लाइन, या व्हाइट स्पेस कैरेक्टर होते हैं। यह अक्सर ऐसा होता है जब दस्तावेज़ को नोटपैड जैसे साधारण संपादक द्वारा संपादित किया जाता है।

निम्नलिखित उदाहरण (नोटपैड द्वारा संपादित) में प्रत्येक पंक्ति और प्रत्येक बच्चे के नोड के सामने दो रिक्त स्थान के बीच सीआर/एलएफ (नई लाइन) शामिल है:

<book>
  <title>Everyday Italian</title>
  <author>Giada De Laurentiis</author>
  <year>2005</year>
  <price>30.00</price>
</book>

Internet Explorer 9 और इससे पहले के संस्करण खाली सफेद-रिक्त स्थान, या नई पंक्तियों को टेक्स्ट नोड्स के रूप में नहीं मानते हैं, जबकि अन्य ब्राउज़र ऐसा करते हैं।

निम्नलिखित उदाहरण मूल तत्व ( books.xml ) के चाइल्ड नोड्स की संख्या को आउटपुट करेगा । IE9 और इससे पहले के 4 चाइल्ड नोड्स आउटपुट करेंगे, जबकि IE10 और बाद के संस्करण, और अन्य ब्राउज़र 9 चाइल्ड नोड्स आउटपुट करेंगे:

उदाहरण

function myFunction(xml) {
var xmlDoc = xml.responseXML;
    x = xmlDoc.documentElement.childNodes;
    document.getElementById("demo").innerHTML =
    "Number of child nodes: " + x.length;
}

PCDATA - पार्स किए गए वर्ण डेटा

एक्सएमएल पार्सर्स आम तौर पर एक्सएमएल दस्तावेज़ में सभी टेक्स्ट को पार्स करते हैं।

जब किसी XML तत्व को पार्स किया जाता है, तो XML टैग के बीच का टेक्स्ट भी पार्स किया जाता है:

<message>This text is also parsed</message>

पार्सर ऐसा इसलिए करता है क्योंकि XML तत्वों में अन्य तत्व हो सकते हैं, जैसा कि इस उदाहरण में है, जहां <name> तत्व में दो अन्य तत्व शामिल हैं (प्रथम और अंतिम):

<name><first>Bill</first><last>Gates</last></name>

और पार्सर इसे इस तरह उप-तत्वों में तोड़ देगा:

<name>
  <first>Bill</first>
  <last>Gates</last>
</name>

पार्स किए गए कैरेक्टर डेटा (पीसीडीएटीए) टेक्स्ट डेटा के बारे में इस्तेमाल किया जाने वाला शब्द है जिसे एक्सएमएल पार्सर द्वारा पार्स किया जाएगा।


सीडीएटीए - (अनपार्स्ड) कैरेक्टर डेटा

सीडीएटीए शब्द का प्रयोग टेक्स्ट डेटा के लिए किया जाता है जिसे एक्सएमएल पार्सर द्वारा पार्स नहीं किया जाना चाहिए।

XML तत्वों में "<" और "&" जैसे वर्ण अवैध हैं।

"<" एक त्रुटि उत्पन्न करेगा क्योंकि पार्सर इसे एक नए तत्व की शुरुआत के रूप में व्याख्या करता है।

"&" एक त्रुटि उत्पन्न करेगा क्योंकि पार्सर इसे एक चरित्र इकाई की शुरुआत के रूप में व्याख्या करता है।

जावास्क्रिप्ट कोड जैसे कुछ टेक्स्ट में बहुत सारे "<" या "&" वर्ण होते हैं। त्रुटियों से बचने के लिए स्क्रिप्ट कोड को सीडीएटीए के रूप में परिभाषित किया जा सकता है।

सीडीएटीए अनुभाग के अंदर सब कुछ पार्सर द्वारा अनदेखा किया जाता है।

एक सीडीएटीए अनुभाग " <![CDATA[ " से शुरू होता है और " ]]> " के साथ समाप्त होता है :

<script>
<![CDATA[
function matchwo(a,b) {
    if (a < b && a < 0) {
        return 1;
    } else {
        return 0;
    }
}
]]>
</script>

ऊपर के उदाहरण में, सीडीएटीए अनुभाग के अंदर सब कुछ पार्सर द्वारा अनदेखा किया जाता है।

सीडीएटीए अनुभागों पर नोट्स:

सीडीएटीए अनुभाग में "]]>" स्ट्रिंग नहीं हो सकती है। नेस्टेड सीडीएटीए अनुभागों की अनुमति नहीं है।

सीडीएटीए अनुभाग के अंत को चिह्नित करने वाले "]]>" में रिक्त स्थान या लाइन ब्रेक नहीं हो सकते हैं।