Ultimele tutoriale de dezvoltare web
 

Funcțiile XQuery


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.

Operatorii XPath

Funcții XPath

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

XSD String

XSD Data

XSD numerică

XSD Diverse


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>