Home » XML » XML XQuery : Fungsi XQuery – Code dan Contohnya

XML XQuery : Fungsi XQuery – Code dan Contohnya

by Hanifah Nurbaeti
by Hanifah Nurbaeti

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

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 :

  1. Operator XPath
  2. 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 :

  1. XSD String
  2. XSD Date
  3. XSD Numerik
  4. 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>

You may also like