XQuery 1.0, XPath 2.0 i XSLT 2,0 akcji biblioteka same funkcje.
Funkcje XQuery
XQuery jest zbudowany na wyrażeniach XPath. XQuery i XPath 1.0 2.0 dzielić ten sam model danych i obsługują te same funkcje i operatory.
Można również zdefiniować własne funkcje w XQuery.
Rodzaje danych XQuery
XQuery dzieli te same typy danych jako XML Schema 1.0 (XSD) .
Przykłady wywołania funkcji
Wywołanie funkcji może pojawić się, gdzie mogą pojawić się wyrazem. Spójrz na poniższe przykłady:
Przykład 1: W elemencie
<name>{upper-case($booktitle)}</name>
Przykład 2: orzeczenie o ekspresji ścieżki
doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']
Przykład 3: klauzuli let
let $name := (substring($booktitle,1,4))
XQuery Funkcje definiowane przez użytkownika
Jeśli nie można znaleźć funkcji XQuery, czego potrzeba, można napisać własny.
Funkcje zdefiniowane przez użytkownika mogą być zdefiniowane w zapytaniu lub w oddzielnej bibliotece.
Składnia
declare function Uwagi dotyczące funkcji zdefiniowanych przez użytkownika: - Użyj słowa kluczowego function Oświadczam
- Nazwa funkcji musi być poprzedzona
- Typ danych parametrów są w większości takie same jak typów danych zdefiniowanych w XML Schema
- Ciało funkcji muszą być otoczone klamrami
Przykładem funkcji zdefiniowanej uznano za w zapytaniu
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>