Derniers tutoriels de développement web
 

Fonctions XQuery


XQuery 1.0, XPath 2.0, et part XSLT 2.0 de la même bibliothèque de fonctions.


Fonctions XQuery

XQuery est construit sur les expressions XPath. XQuery 1.0 et XPath 2.0 partagent le même modèle de données et prennent en charge les mêmes fonctions et les opérateurs.

Les opérateurs XPath

Fonctions XPath

Vous pouvez également définir vos propres fonctions XQuery.


XQuery Types de données

XQuery partage les mêmes types de données XML Schema 1.0 (XSD) .

xsd : string

date de XSD

XSD numérique

XSD Divers


Exemples d'appels de fonction

Un appel à une fonction peut apparaître où une expression peut apparaître. Regardez les exemples ci-dessous:

Exemple 1: Dans un élément

<name>{upper-case($booktitle)}</name>

Exemple 2: Dans le prédicat d'une expression de chemin

doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']

Exemple 3: Dans une clause let

let $name := (substring($booktitle,1,4))

XQuery Fonctions utilisateur

Si vous ne trouvez pas la fonction XQuery vous avez besoin, vous pouvez écrire votre propre.

Les fonctions définies par l'utilisateur peuvent être définis dans la requête ou dans une bibliothèque séparée.

Syntaxe

declare function Notes sur les fonctions définies par l'utilisateur:

  • Utilisez le mot-clé de fonction annoncez
  • Le nom de la fonction doit être préfixé
  • Le type de données des paramètres sont essentiellement les mêmes que les types de données définis dans le schéma XML
  • Le corps de la fonction doit être encadrée par des accolades bouclés

Exemple d'une fonction définie par l'utilisateur Déclaré dans la requête

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>