Najnowsze tutoriale tworzenie stron internetowych
 

Funkcje XQuery


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.

Operatorzy XPath

Funkcje XPath

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) .

XSD String

Data XSD

XSD numeryczna

XSD Rożne


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>