XQuery - Fonctions personnalisées

XQuery offre la possibilité d'écrire des fonctions personnalisées. Vous trouverez ci-dessous les instructions pour créer une fonction personnalisée.

  • Utilisez le mot-clé declare function pour définir une fonction.

  • Utiliser les types de données définis dans le schéma XML actuel

  • Entourez le corps de la fonction dans des accolades.

  • Préfixez le nom de la fonction avec un espace de noms XML.

La syntaxe suivante est utilisée lors de la création d'une fonction personnalisée.

Syntaxe

declare function prefix:function_name($parameter as datatype?...)
as returnDatatype?
{
   function body...
};

Exemple

L'exemple suivant montre comment créer une fonction définie par l'utilisateur dans XQuery.

Expression XQuery

declare function local:discount($price as xs:decimal?,$percentDiscount as xs:decimal?)
as xs:decimal? {
   let $discount := $price - ($price * $percentDiscount div 100) 
   return $discount
};

let $originalPrice := 100

let $discountAvailed := 10

return ( local:discount($originalPrice, $discountAvailed))

Production

90

Vérifiez le résultat

Pour vérifier le résultat, remplacez le contenu de books.xqy (indiqué dans le chapitre Configuration de l' environnement ) par l'expression XQuery ci-dessus et exécutez le programme java XQueryTester.