XQuery 1.0, XPath 2.0 și XSLT 2.0 parts biblioteca aceleași funcții.
Funcțiile XQuery
XQuery este construit pe expresii XPath. XQuery 1.0 și XPath 2.0 împart același model de date și să susțină aceleași funcții și operatori.
Puteți defini propriile funcții în XQuery.
Tipuri de date XQuery
XQuery împărtășește aceleași tipuri de date ca XML Schema 1.0 (XSD) .
Exemple de apeluri de funcții
Un apel la o funcție poate apărea în cazul în care poate apărea o expresie. Uită-te la exemplele de mai jos:
Exemplul 1: Într-un element
<name>{upper-case($booktitle)}</name>
Exemplul 2: In predicatul unei expresii cale
doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']
Exemplul 3: Într-o clauză lit.
let $name := (substring($booktitle,1,4))
XQuery Funcții definite de utilizator
Dacă nu puteți găsi funcția XQuery aveți nevoie, puteți scrie propriul.
Funcțiile definite de utilizator pot fi definite în interogare sau într-o bibliotecă separată.
Sintaxă
declare function Note cu privire la funcțiile definite de utilizator: - Utilizați cuvântul cheie funcția vestim
- Numele funcției trebuie să fie prefixat
- Tipul de date al parametrilor sunt în general aceleași ca și tipurile de date definite în XML Schema
- Corpul funcției trebuie să fie înconjurată de acolade
Exemplu de funcție definită de utilizator declarată în interogare
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>