XQuery कार्य
XQuery 1.0, XPath 2.0 और XSLT 2.0 समान फ़ंक्शन लाइब्रेरी साझा करते हैं।
XQuery कार्य
XQuery XPath एक्सप्रेशन पर बनाया गया है। XQuery 1.0 और XPath 2.0 समान डेटा मॉडल साझा करते हैं और समान फ़ंक्शन और ऑपरेटरों का समर्थन करते हैं।
आप XQuery में अपने स्वयं के कार्यों को भी परिभाषित कर सकते हैं।
XQuery डेटा प्रकार
XQuery XML स्कीमा 1.0 (XSD) के समान डेटा प्रकार साझा करता है।
फंक्शन कॉल्स के उदाहरण
किसी फ़ंक्शन के लिए एक कॉल प्रकट हो सकती है जहां एक अभिव्यक्ति दिखाई दे सकती है। नीचे दिए गए उदाहरणों को देखें:
उदाहरण 1: एक तत्व में
<name>{upper-case($booktitle)}</name>
उदाहरण 2: पथ व्यंजक के विधेय में
doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']
उदाहरण 3: एक लेट क्लॉज में
let $name := (substring($booktitle,1,4))
XQuery उपयोगकर्ता-परिभाषित कार्य
यदि आपको आवश्यक XQuery फ़ंक्शन नहीं मिल रहा है, तो आप अपना स्वयं का लिख सकते हैं।
उपयोगकर्ता-परिभाषित कार्यों को क्वेरी में या एक अलग पुस्तकालय में परिभाषित किया जा सकता है।
वाक्य - विन्यास
declare function prefix:function_name($parameter as datatype)
as returnDatatype
{
...function code here...
};
उपयोगकर्ता द्वारा परिभाषित कार्यों पर नोट्स:
- घोषित फ़ंक्शन कीवर्ड का उपयोग करें
- फ़ंक्शन का नाम उपसर्ग होना चाहिए
- पैरामीटर का डेटा प्रकार ज्यादातर XML स्कीमा में परिभाषित डेटा प्रकार के समान होता है
- फ़ंक्शन का शरीर घुंघराले ब्रेसिज़ से घिरा होना चाहिए
क्वेरी में घोषित उपयोगकर्ता-परिभाषित फ़ंक्शन का उदाहरण
declare function local:minPrice($p as xs:decimal?,$d as xs:decimal?)
as xs:decimal?
{
let $disc := ($p * $d) div 100
return ($p - $disc)
};
Below is an example of how to call the function above:
<minPrice>{local:minPrice($book/price,$book/discount)}</minPrice>