XQuery व्याकरण

XQuery के लिए बैक्टिंग संवेदनशील है, XQuery के एलीमेंट, एट्रिब्यूट्स और वेरियेबल्स को वैध XML नाम होना चाहिए。

XQuery के बुनियादी ग्रामर नियम:

कुछ बुनियादी ग्रामर नियम:

  • XQuery के लिए बैक्टिंग संवेदनशील है
  • XQuery के एलीमेंट, एट्रिब्यूट्स और वेरियेबल्स को वैध XML नाम होना चाहिए。
  • XQuery में स्ट्रिंग मूल्यों को एकल या दोहरे अल्पवर्णों से बांटा जा सकता है。
  • XQuery में वेरियेबल्स $ के साथ नाम के रूप में परिभाषित की जाती हैं, उदाहरण के लिए, $bookstore
  • XQuery की टिप्पणी (:) और :) से विभाजित होती है, उदाहरण में, (:) XQuery टिप्पणी :)

XQuery की कंडीशनल एक्सप्रेशन

"If-Then-Else" XQuery में उपयोग किया जा सकता है。

देखिए नीचे दिए गए उदाहरण:

दोस्तों, यहाँ पर दिये गए XML फ़ाइल 'books.xml' के आधार पर बुकस्टोर/बुक एलेमेंटों को परिभाषित करता है
return	if ($x/@category="CHILDREN")
	then <child>{data($x/title)}</child>
	else <adult>{data($x/title)}</adult>

ध्यान दें "If-Then-Else" व्याकरण: if अभिव्यक्ति के बाद के दूसरे पट्टी के अंदर बंद बारे अनिवार्य है।else भी अनिवार्य है, लेकिन "else ()" भी लिखा जा सकता है。

उपरी उदाहरण का परिणाम:

<adult>Everyday Italian</adult>
<child>Harry Potter</child>
<adult>Learning XML</adult>
<adult>XQuery Kick Start</adult>

XQuery तुलना

XQuery में मान की तुलना करने के दो तरीके हैं。

  1. सामान्य तुलना: =, !=, <, <=, >, >=
  2. मान की तुलना: eq, ne, lt, le, gt, ge

इन तुलना विधियों के अंतर निम्नलिखित हैं:

नीचे दिए गए XQuery एक्सप्रेशन को देखें:

$bookstore//book/@q > 10

यदि q अट्रिब्यूट के मान 10 से बड़ा है, तो उपरी एक्सप्रेशन का वापसी true है。

$bookstore//book/@q जीट 10

यदि केवल एक q वापस किया जाता है और इसका मान 10 से बड़ा है, तो एक्सप्रेशन true वापस करता है।यदि एक से अधिक q वापस किए जाते हैं, तो त्रुटि होगी。