Fungsi XQuery
- Hal Sebelumnya Pemilihan XQuery
- Hal Berikutnya Pengenalan DTD
XQuery 1.0, XPath 2.0, dan XSLT 2.0 berbagi pustaka fungsi yang sama.
Fungsi XQuery
XQuery memiliki lebih dari 100 fungsi bawaan. Fungsi ini dapat digunakan untuk nilai string, angka, tanggal dan waktu, perbandingan antara node dan QName, operasi sequence, nilai logika, dan lainnya. Anda juga dapat mendefinisikan fungsi sendiri di XQuery.
Fungsi bawaan XQuery
URI namespace fungsi XQuery:
http://www.w3.org/2005/02/xpath-functions
Prefiks namespace standar untuk fungsi adalah fn:.
Petunjuk:Fungsi sering dipanggil melalui prefiks fn: seperti fn:string(). Namun, karena fn: adalah prefiks namespace standar, nama fungsi tidak harus digunakan saat dipanggil.
Anda dapat menemukan referensi lengkap dalam pelatihan XPath kami《Referensi referensi fungsi XQuery bawaan》。
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 pengguna XQuery
Jika fungsi XQuery yang diperlukan tidak ditemukan, Anda dapat menulis fungsi sendiri.
Fungsi yang dideklarasikan pengguna dapat didefinisikan dalam kueri atau dalam pustaka yang terpisah.
Sintaks
declare function prefiks:nama_fungsi($parameter AS tipe_data)
AS tipe data yang kembalikan
{}}
(: ...kode fungsi... :)
;
Perhatian tentang fungsi yang dideklarasikan pengguna:
- Gunakan kata kunci declare function
- Nama fungsi harus menggunakan prefiks
- Tipe data parameter biasanya sama dengan tipe data yang didefinisikan di XML Schema
- Teks fungsi harus diselengkapkan dengan tanda kurung kurawal
Sebuah contoh fungsi yang dideklarasikan pengguna:
declare function local:minPrice(
$price as xs:decimal?,
$discount as xs:decimal?)
AS xs:decimal?
{}}
let $disc := ($price * $discount) div 100
return ($price - $disc)
;
(: Berikut adalah contoh pemanggilan fungsi di atas :)
<minPrice>{local:minPrice($book/price, $book/discount)}</minPrice>
- Hal Sebelumnya Pemilihan XQuery
- Hal Berikutnya Pengenalan DTD