Fungsi XQuery
- Hal Sebelumnya Pemilihan XQuery
- Hal Berikutnya Ringkasan XQuery
XQuery 1.0, XPath 2.0, dan XSLT 2.0 berbagi fungsi yang sama.
Fungsi XQuery
XQuery memiliki lebih dari 100 fungsi bawaan. Fungsi ini dapat digunakan untuk nilai string, angka, tanggal dan waktu, operasi node dan QName, operasi sekuen, nilai logika, dan lainnya. Anda juga dapat mendefinisikan fungsi sendiri di XQuery.
Fungsi Dalam XQuery
URI Nama Ruang Fungsi XQuery:
http://www.w3.org/2005/02/xpath-functions
Prefiks namespace standar untuk fungsi adalah fn:.
Petunjuk:Fungsi sering kali dipanggil melalui prefiks fn:, seperti fn:string(). Namun, karena fn: adalah prefiks namespace standar, nama fungsi tidak perlu di gunakan saat dipanggil.
Anda dapat menemukan referensi lengkap buku <Referensi Pustaka Fungsi XQuery Dalam》。
Contoh pemanggilan fungsi
Pemanggilan fungsi dapat digunakan bersamaan dengan ekspresi. Lihat contoh di bawah ini:
Contoh 1: Dalam elemen
<name>{upper-case($booktitle)}</name>
Contoh 2: Dalam predikat ekspresi jalur
doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']
Contoh 3: Dalam pernyataan let
let $name := (substring($booktitle,1,4))
Fungsi penggunaan XQuery
Jika tidak dapat menemukan fungsi XQuery yang diperlukan, Anda dapat menulis fungsi sendiri.
Fungsi penggunaan yang diumumkan dapat didefinisikan dalam kueri atau pustaka yang terpisah.
Syarat
declare function prefiks:nama fungsi($parameter AS tipe data)
AS tipe data yang kembali
{
(: ...kode fungsi... :)
;
Perhatian tentang fungsi penggunaan yang diumumkan:
- Gunakan kata kunci declare function
- Nama fungsi harus menggunakan prefiks
- Tipe data parameter biasanya sama dengan tipe data yang didefinisikan dalam XML Schema
- Isi fungsi harus disorot dengan tanda kurung
Contoh fungsi penggunaan yang diumumkan dalam kueri:
declare function local:minPrice(
$price as xs:decimal?,
$discount as xs:decimal?)
AS xs:decimal?
{
let $disc := ($price * $discount) div 100
return ($price - $disc)
;
(: Contoh pemanggilan fungsi di atas :)
<minPrice>{local:minPrice($book/price, $book/discount)}</minPrice>
- Hal Sebelumnya Pemilihan XQuery
- Hal Berikutnya Ringkasan XQuery