tutorial pengembangan web terbaru
 

Fungsi XQuery


XQuery 1.0, XPath 2.0, dan XSLT 2.0 berbagi fungsi yang sama perpustakaan.


Fungsi XQuery

XQuery dibangun pada ekspresi XPath. XQuery 1.0 dan XPath 2.0 berbagi model data yang sama dan mendukung fungsi dan operator yang sama.

XPath Operator

Fungsi XPath

Anda juga dapat menentukan fungsi sendiri di XQuery.


Jenis XQuery data

XQuery berbagi tipe data yang sama seperti XML Schema 1.0 (XSD) .

XSD String

XSD Tanggal

XSD Numeric

XSD Lain-lain


Contoh Fungsi Panggilan

Panggilan untuk fungsi dapat muncul di mana ekspresi mungkin muncul. Lihatlah contoh di bawah ini:

Contoh 1: Dalam sebuah elemen

<name>{upper-case($booktitle)}</name>

Contoh 2: Dalam predikat ekspresi path

doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']

Contoh 3: Dalam klausul let

let $name := (substring($booktitle,1,4))

XQuery Fungsi User-Defined

Jika Anda tidak dapat menemukan fungsi XQuery yang Anda butuhkan, Anda dapat menulis sendiri.

fungsi User-defined dapat didefinisikan dalam query atau di perpustakaan terpisah.

Sintaksis

declare function Catatan pada fungsi user-defined:

  • Gunakan fungsi declare kata kunci
  • Nama fungsi harus diawali
  • Tipe data dari parameter sebagian besar sama dengan tipe data yang didefinisikan dalam Skema XML
  • Tubuh fungsi harus dikelilingi oleh kurung kurawal

Contoh Fungsi ditetapkan pengguna yang diumumkan Query

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>