XQuery 1.0, XPath 2.0 ve XSLT 2.0 pay aynı işlevleri kütüphanesi.
XQuery işlevler
XQuery XPath ifadeleri üzerine kurulmuştur. XQuery 1.0 ve XPath 2.0 aynı veri modelini paylaşmak ve aynı işlevleri ve operatörleri destekler.
Ayrıca XQuery kendi işlevlerini tanımlayabilir.
XQuery Veri Türleri
XQuery XML şeması 1.0 ile aynı veri türlerini paylaşır (XSD) .
Fonksiyon Aramalar örnekleri
bir ifade görünebileceği yerlere bir işleve bir çağrı görünebilir. Aşağıdaki örneklere bakın:
Örnek 1: Bir elemanında
<name>{upper-case($booktitle)}</name>
Örnek 2: Bir yol ifade yüklemi
doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']
Örnek 3: bir izin madde olarak
let $name := (substring($booktitle,1,4))
XQuery Kullanıcı Tanımlı Fonksiyonlar
İhtiyacınız XQuery işlevini bulamazsa, kendi yazabilirsiniz.
Kullanıcı tanımlı fonksiyonlar sorguda veya ayrı kütüphanede tanımlanabilir.
Sözdizimi
declare function Kullanıcı tanımlı fonksiyonları üzerine notlar: - beyan işlevi anahtar kelime kullanın
- fonksiyonun adı eklenmeli
- parametrelerin veri tipi daha çok XML şema tanımlanan veri türleri ile aynıdır
- fonksiyonun gövdesi Küme ayraçları içine alınmalıdır
Bir kullanıcı tanımlı Fonksiyon Örnek Query beyan
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>