XQuery 1.0, XPath 2.0, and XSLT 2.0  دارای توابع مشترک هستند

 XQUERY بیش از 100 تابع درون ساخته دارد .

 

 

مثال :

 

مثال 1 : در یک عبارت

<name>{upper-case($booktitle)}</name>

 

 

مثال 2 : در یک مسیر

 

doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']

 

 

مثال 3 :در دستور LET

let $name := (substring($booktitle,1,4))

 

 
روش ساختن تابع اختیاری

 

 

declare function local: نام پارامتر  ) نام تابع AS   نوع داده  )  AS    نوع مقدار بازگشتی تابع  

{

 

دستورات تابع  }   

 
  نوع داده پارامترها یکی از انواع داده معتبر در 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>