XQuery व्याकरण

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

XQuery के बुनियादी वाक्यबद्धता नियम:

कुछ बुनियादी वाक्यबद्धता नियम:

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

XQuery सबसे आधारभूत वाक्यबद्धता

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

कृपया नीचे दिए गए उदाहरण को देखें:

for $x in doc("books.xml")/bookstore/book
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 gt 10

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