XQuery 1.0, XPath 2.0 dan XSLT 2.0 berbagi pustaka fungsi yang sama.
Section Artikel
Fungsi XQuery
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 :
- Operator XPath
- Fungsi XPath
Kita juga bisa menentukan fungsi sendiri di XQuery.
Jenis Data XQuery
XQuery berbagi tipe data yang sama dengan XML Schema 1.0 (XSD). Berikut ini beberapa jenis data XQuery :
- XSD String
- XSD Date
- XSD Numerik
- XSD Misc
Contoh Memanggil Fungsi
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))
Fungsi Buatan Pengguna XQuery
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:
- Gunakan kata kunci fungsi mendeklarasikan
- Nama fungsi harus diawali
- Tipe data parameter sebagian besar sama dengan tipe data yang ditentukan dalam XML Schema
- Tubuh fungsinya harus dikelilingi oleh kurung kurawal
Contoh dari Fungsi yang Ditentukan Pengguna yang Dinyatakan dalam Kueri
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>