Tutoriel XML

ACCUEIL XML Introduction XML XML Comment utiliser Arbre XML Syntaxe XML Éléments XML Attributs XML Espaces de noms XML Affichage XML Requête HTTP XML Analyseur XML DOM XML XPath XML XML XSLT XQuery XML XMLXLink Validateur XML DTD XML Schéma XML Serveur XML Exemples XML XML Quiz Certificat XML

XMLAJAX

Présentation d'AJAX AJAX XMLHttp Requête AJAX Réponse AJAX Fichier XML AJAX PHP AJAX ASP AJAX Base de données AJAX Applications AJAX Exemples AJAX

DOM XML

Présentation du DOM Nœuds DOM Accès au DOM Informations sur le nœud DOM Liste des nœuds DOM Traversée du DOM Navigation DOM DOM Obtenir des valeurs Nœuds de changement DOM DOM Supprimer les nœuds DOM Remplacer les nœuds DOM Créer des nœuds DOM Ajouter des nœuds Nœuds de clonage DOM Exemples DOM

Tutoriel XPath

Présentation de XPath Nœuds XPath Syntaxe XPath Axes XPath Opérateurs XPath Exemples XPath

Tutoriel XSLT

Présentation de XSLT Langages XSL Transformation XSLT XSLT <modèle> XSLT <valeur-de> XSLT <pour-chaque> XSLT <sort> XSLT <si> XSLT <choisir> Appliquer XSLT XSLT sur le client XSLT sur le serveur XSLT Éditer XML Exemples XSLT

Tutoriel XQuery

Présentation de XQuery Exemple XQuery XQuery FLWOR XQuery HTML Termes XQuery Syntaxe XQuery Ajouter XQuery Sélection XQuery Fonctions XQuery

DTD XML

Présentation de la DTD Blocs de construction DTD Éléments DTD Attributs DTD Éléments DTD vs Attr Entités DTD Exemples de DTD

Schéma XSD

Présentation XSD Comment XSD XSD <schéma> Éléments XSD Attributs XSD Restrictions XSD

Complexe XSD

Éléments XSD XSD vide Éléments XSD uniquement Texte XSD uniquement XSD Mixte Indicateurs XSD XSD <tout> XSD <anyAttribute> Remplacement XSD Exemple XSD

Données XSD

Chaîne XSD Date XSD Numérique XSD Divers XSD Référence XSD

Services Web

Services XML XMLWSDL SAVON XML XML RDF XML RSS

Les références

Types de nœuds DOM Nœud DOM Liste de nœuds DOM DOM NamedNodeMap Documents DOM Élément DOM Attribut DOM Texte DOM DOM CDATA DOM Comment DOM XMLHttpRequest Analyseur DOM Éléments XSLT Fonctions XSLT/XPath

Fonctions XQuery


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


Fonctions XQuery

XQuery est construit sur des 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 opérateurs.

Opérateurs XPath

Fonctions XPath

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


Types de données XQuery

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

Chaîne XSD

Date XSD

Numérique XSD

Divers XSD


Exemples d'appels de fonction

Un appel à une fonction peut apparaître là 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))


Fonctions définies par l'utilisateur XQuery

Si vous ne trouvez pas la fonction XQuery dont vous avez besoin, vous pouvez écrire la vôtre.

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

Syntaxe

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

Remarques sur les fonctions définies par l'utilisateur :

  • Utilisez le mot-clé de la fonction declare
  • Le nom de la fonction doit être préfixé
  • Le type de données des paramètres est essentiellement le même que les types de données définis dans XML Schema
  • Le corps de la fonction doit être entouré d'accolades

Exemple de fonction définie par l'utilisateur déclarée 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>