एक्सक्यूअरी फ़ंक्शन
- पिछला पृष्ठ एक्सक्यूअरी चयन
- अगला पृष्ठ एक्सक्यूअरी समीक्षा
XQuery 1.0, XPath 2.0 और XSLT 2.0 एक समान फ़ंक्शन लाइब्रेरी को साझा करते हैं।
एक्सक्यूअरी फ़ंक्शन
XQuery में 100 से अधिक इनबुट फ़ंक्शन हैं। ये फ़ंक्शन स्ट्रिंग, संख्या, तारीख और समय की तुलना, नोड और QName ऑपरेशन, सीक्वेंस ऑपरेशन, लॉजिकल मूल्य आदि के लिए इस्तेमाल किए जा सकते हैं। आप XQuery में अपने फ़ंक्शन को भी परिभाषित कर सकते हैं।
XQuery इनबुट फ़ंक्शन
XQuery फ़ंक्शन नामस्पेक्ट्रस का URI:
http://www.w3.org/2005/02/xpath-functions
फ़ंक्शन नामस्पेक्ट्रस का डिफ़ॉल्ट अग्रसूत्र fn: है।
सूचना:फ़ंक्शन अक्सर fn: अग्रसूत्र के माध्यम से बुलाया जाता है, जैसे fn:string()। हालांकि, fn: नामस्पेक्ट्रस के डिफ़ॉल्ट अग्रसूत्र है, इसलिए फ़ंक्शन नाम को बुलाते समय अग्रसूत्र की आवश्यकता नहीं होती।
आप हमारे XPath ट्रेनिंग में पूरे ज्ञानकोश को पा सकते हैं:इनबुट एक्सक्यूरी फ़ंक्शन हैंडबुक》。
फ़ंक्शन कोड उदाहरण
फ़ंक्शन को एक्सप्रेशन के साथ भी इस्तेमाल किया जा सकता है. नीचे का उदाहरण देखें:
उदाहरण 1: एलिमेंट में
<name>{upper-case($booktitle)}</name>
उदाहरण 2: पथ व्यक्ति के मूल्य में
doc("books.xml")/book[substring(title,1,5)='Harry']
उदाहरण 3: let बयान में
let $name := (substring($booktitle,1,4))
एक्सक्यूअरी उपयोगकर्ता-निर्मित फ़ंक्शन
यदि आवश्यक एक्सक्यूअरी फ़ंक्शन नहीं मिलता है, तो आप अपने फ़ंक्शन लिख सकते हैं。
उपयोगकर्ता-निर्मित फ़ंक्शन को पूरे पूर्णा अनुसंधान के भीतर या स्वतंत्र लाइब्रेरी में परिभाषित किया जा सकता है。
व्याकरण
declare function प्रीफ़िक्स:फ़ंक्शननाम($पारामीटर AS डाटा टाइप)
AS वापसी डाटा टाइप
{
(: ... फ़ंक्शन कोड ... :)
;
उपयोगकर्ता-निर्मित फ़ंक्शन के बारे में ध्यान दें:
- कृपया declare function की कुंजी उपयोग करें
- फ़ंक्शन नाम को प्रीफ़िक्स उपयोग करना चाहिए
- पारामीटर के डाटा टाइप सामान्यतया XML शेमा में परिभाषित डाटा टाइप से मेल खाते हैं
- फ़ंक्शन का मुख्यांक बारे में फ़िल्क़्की के भीतर बंद किया जाता है
एक उपयोगकर्ता-निर्मित फ़ंक्शन का उदाहरण:
declare function local:minPrice(
$price as xs:decimal?,
$discount as xs:decimal?)
AS xs:decimal?
{
let $disc := ($price * $discount) div 100
return ($price - $disc)
;
(: ऊपर दिए गए फ़ंक्शन को बुलाने के उदाहरण :)
<minPrice>{local:minPrice($book/price, $book/discount)}</minPrice>
- पिछला पृष्ठ एक्सक्यूअरी चयन
- अगला पृष्ठ एक्सक्यूअरी समीक्षा