Grammaire XQuery

XQuery est sensible à la casse, les éléments, les attributs et les variables XQuery doivent être des noms XML valides.

Règles de syntaxe de base de XQuery :

Certains règles de syntaxe de base :

  • XQuery est sensible à la casse
  • Les éléments, les attributs et les variables XQuery doivent être des noms XML valides.
  • Les valeurs de chaîne XQuery peuvent être utilisées avec des guillemets simples ou doubles.
  • Les variables XQuery sont définies par un "$" suivi d'un nom, par exemple, $bookstore
  • Les commentaires XQuery sont divisés par (: et :), par exemple, (: Commentaire XQuery :)

Expression conditionnelle XQuery

La syntaxe "If-Then-Else" peut être utilisée dans XQuery.

Voyons l'exemple suivant :

for $x in doc("books.xml")/bookstore/book
return	if ($x/@category="CHILDREN")
	then <child>{data($x/title)}</child>
	else <adult>{data($x/title)}</adult>

Veuillez noter la syntaxe "If-Then-Else" : les parenthèses après l'expression if sont obligatoires. else est également obligatoire, mais il est possible d'écrire simplement "else ()".

Résultat de l'exemple ci-dessus :

<adult>Everyday Italian</adult>
<child>Harry Potter</child>
<adult>Learning XML</adult>
<adult>Get Started with XQuery</adult>

Comparaison XQuery

Dans XQuery, il y a deux méthodes pour comparer des valeurs.

  1. Comparaison universelle : =, !=, <, <=, >, >=
  2. Comparaison des valeurs : eq, ne, lt, le, gt, ge

Les différences entre ces deux méthodes de comparaison sont les suivantes :

Voyons l'expression XQuery suivante :

$bookstore//book/@q > 10

Si la valeur de l'attribut q est supérieure à 10, la valeur de retour de l'expression ci-dessus est true.

$bookstore//book/@q gt 10

Si une seule valeur q est retournée et qu'elle est supérieure à 10, l'expression retourne true. Si plusieurs valeurs q sont retournées, une erreur se produira.