XQuery 1.0, XPath 2.0 dan XSLT 2.0 berbagi pustaka fungsi yang sama.
Section Artikel
XQuery dibangun di atas ekspresi XPath. XQuery 1.0 dan XPath 2.0 berbagi model data yang sama dan mendukung fungsi dan operator yang sama. Berikut ini beberapa fungsi XQuery :
Kita juga bisa menentukan fungsi sendiri di XQuery.
XQuery berbagi tipe data yang sama dengan XML Schema 1.0 (XSD). Berikut ini beberapa jenis data XQuery :
Panggilan ke suatu fungsi dapat muncul di mana ekspresi mungkin muncul. Lihat contoh di bawah ini:
Contoh 1: Dalam sebuah elemen
<name>{upper-case($booktitle)}</name>
Contoh 2 : Predikat di path expression
doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']
Contoh 3: Dalam klausa let
let $name := (substring($booktitle,1,4))
Jika kita tidak dapat menemukan fungsi XQuery yang dibutuhkan, kita dapat menulisnya sendiri.
Fungsi yang ditentukan pengguna bisa ditentukan dalam kueri atau di pustaka terpisah.
Sintaksnya :
declare function prefix:function_name($parameter as datatype) as returnDatatype { ...function code here... };
Catatan tentang fungsi yang ditentukan pengguna:
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>