Fungsi XQuery
- Halaman Sebelumnya Pemilihan XQuery
- Halaman Berikutnya Ringkasan XQuery
XQuery 1.0, XPath 2.0, dan XSLT 2.0 berbagi library fungsi yang sama.
Fungsi XQuery
XQuery memiliki lebih dari 100 fungsi bawaan. Fungsi ini dapat digunakan untuk nilai string, angka, tanggal dan waktu pembanding, operasi node dan QName, operasi sekuen, nilai logika, dll. Anda juga dapat mendefinisikan fungsi sendiri di XQuery.
Fungsi Bawaan XQuery
URI Ruang Nama Fungsi XQuery:
http://www.w3.org/2005/02/xpath-functions
Prefiks ruang nama standar fungsi adalah fn:.
Petunjuk:Fungsi sering dipanggil melalui prefiks fn:, seperti fn:string(). Namun, karena fn: adalah prefiks ruang nama standar, nama fungsi tidak perlu digunakan saat dipanggil.
Anda dapat menemukan keseluruhan《Panduan Fungsi XQuery Sifat 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 kustom XQuery
Jika fungsi XQuery yang diperlukan tidak dapat ditemui, anda boleh menulis fungsi sendiri.
Fungsi penggunaan kustom boleh ditakrifkan di dalam kueri atau pustaka terpisah.
Syarat
declare function awalan:nama_fungsi($parameter AS jenis_data)
AS jenis data yang kembali
{
(: ...kode fungsi... :)
;
Pertimbangan tentang fungsi penggunaan kustom:
- Gunakan kata kunci declare function
- Nama fungsi harus menggunakan awalan
- Jenis data parameter biasanya sejalan dengan jenis data yang ditakrifkan dalam XML Schema
- Isi fungsi harus diselubungi kurung kurawal
Contoh fungsi penggunaan kustom 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>
- Halaman Sebelumnya Pemilihan XQuery
- Halaman Berikutnya Ringkasan XQuery