एक्सपैथ एक्सेस (एक्सेस)

XML इन्स्टांस डॉक्यूमेंट

हम नीचे दिए गए एक्सएमएल डॉक्यूमेंट का उपयोग करेंगे:

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
  <title lang="eng">Harry Potter</title>
  <price>29.99</price>
</book>
<book>
  <title lang="eng">Learning XML</title>
  <price>39.95</price>
</book>
</bookstore>

XPath अक्ष

अक्ष को पूर्व-स्थित नोड के संबंध में नोड सेट को परिभाषित किया जा सकता है।

अक्ष नाम परिणाम
अन्सेस्टर वर्तमान नोड के सभी पूर्वज (पिता, दादा आदि) को चुनें।
अन्सेस्टर-ऑर-सेल्फ वर्तमान नोड के सभी पूर्वज (पिता, दादा आदि) और वर्तमान नोड स्वयं को चुनें।
अट्रिब्यूट वर्तमान नोड के सभी अभियान चुनें
चाइल्ड वर्तमान नोड के सभी उपनोड चुनें
डेस्सेंडेंट वर्तमान नोड के सभी वंशज एलीमेंट (बच्चे, नाती आदि) को चुनें।
डेस्सेंडेंट-ऑर-सेल्फ वर्तमान नोड के सभी वंशज एलीमेंट (बच्चे, नाती आदि) और वर्तमान नोड स्वयं को चुनें।
फालिंग वर्तमान नोड के अंत स्थानांतरण टैग के बाद के सभी नोड को चुनें।
नेमस्पेस वर्तमान नोड के सभी नाम स्पेस नोड को चुनें।
पैरेंट वर्तमान नोड के पिता नोड को चुनें।
प्रीसिबिंग वर्तमान नोड के शुरूआत स्थानांतरण टैग के पहले के सभी नोड को चुनें।
प्रीसिबिंग-सिब्लिंग वर्तमान नोड से पहले के सभी समान स्तरीय नोड को चुनें।
सेल्फ वर्तमान नोड को चुनें।

स्थान स्थानांतरण एक्सप्रेशन

स्थान स्थानांतरण अभिमुखी या सापेक्षिक हो सकता है।

सापेक्षिक मार्ग सापेक्षिक अंग्रेजी भाषा में वर्णन किया गया है, जबकि अभिमुखी मार्ग इस तरह नहीं होता है। दोनों स्थितियों में, स्थान स्थानांतरण सबसे कम एक या अधिक कदमों से बना होता है: प्रत्येक कदम से तिरंगा सिंगल फाउंडर द्वारा विभाजित होता है:

अभिकृत स्थिति पथ:

/step/step/...

सापेक्षिक स्थिति पथ:

step/step/...

हर बदल वर्तमान नोड सेट के नोड के आधार पर गणना करता है

बदल (step) शामिल है:

अक्ष (axis)
चयनित नोड और वर्तमान नोड के बीच के वृक्ष संबंध को परिभाषित करें
नोड टेस्ट (node-test)
किसी अक्ष के अंदर के नोड को पहचानें
कोई व्याख्या (predicate) या अधिक
चयनित नोड सेट को और गहरी तालिम करें

बदल की ग्रामेटिका:

अक्ष नाम::नोड टेस्ट[व्याख्या]

इस्तरा

उदाहरण परिणाम
child::book वर्तमान नोड के सभी उपनोड के book नोड चुनें
attribute::lang वर्तमान नोड के lang अभियान चुनें
child::* वर्तमान नोड के सभी उपनोड चुनें
attribute::* वर्तमान नोड के सभी अभियान चुनें
child::text() वर्तमान नोड के सभी टेक्स्ट उपनोड चुनें
child::node() वर्तमान नोड के सभी उपनोड चुनें
descendant::book वर्तमान नोड के सभी book वंशज चुनें
ancestor::book वर्तमान नोड के सभी book पूर्वज चुनें
ancestor-or-self::book वर्तमान नोड के सभी book पूर्वज और वर्तमान नोड (यदि यह नोड book नोड है)
child::*/child::price सभी price चचेरे नोड को चुनें जो वर्तमान नोड के अंदर हैं。