Syntaxe XQuery

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

Les règles de syntaxe de base de XQuery :

Quelques 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 encadrées par des guillemets simples ou doubles.
  • Les variables XQuery sont définies par un "$" suivi d'un nom, par exemple, $bookstore
  • Les commentaires XQuery sont délimités par (: et :), par exemple, (: Commentaire XQuery :)

Expression conditionnelle XQuery

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

Voyons un exemple ci-dessous :

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 de "If-Then-Else" : les parenthèses après l'expression if sont nécessaires. else est également nécessaire, mais "else ()" peut également être utilisé.

Le résultat de l'exemple ci-dessus :

<adult>Everyday Italian</adult>
<child>Harry Potter</child>
<adult>Learning XML</adult>
<adult>XQuery Kick Start</adult>

Comparaison XQuery

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

  1. Comparaison générique : =, !=, <, <=, >, >=
  2. Comparaison de valeurs : eq, ne, lt, le, gt, ge

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

Voyez 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 q est retournée et que sa valeur est supérieure à 10, l'expression retourne true. Si plusieurs q sont retournées, une erreur se produira.