Expressions XQuery FLWOR
Qu'est-ce que FLWOR ?
FLWOR (prononcé « fleur ») est un acronyme pour « For, Let, Where, Order by, Return ».
- Pour - sélectionne une séquence de nœuds
- Let - lie une séquence à une variable
- Où - filtre les nœuds
- Trier par - trie les nœuds
- Return - ce qu'il faut retourner (est évalué une fois pour chaque nœud)
L'exemple de document XML
Nous utiliserons le document "books.xml" dans les exemples ci-dessous (même fichier XML que dans le chapitre précédent).
Affichez le fichier "books.xml" dans votre navigateur .
Comment sélectionner des nœuds à partir de "books.xml" avec FLWOR
Examinez l'expression de chemin suivante :
doc("books.xml")/bookstore/book[price>30]/title
L'expression ci-dessus sélectionnera tous les éléments de titre sous les éléments de livre qui se trouvent sous l'élément de librairie qui ont un élément de prix avec une valeur supérieure à 30.
L'expression FLWOR suivante sélectionnera exactement la même chose que l'expression de chemin ci-dessus :
for $x in doc("books.xml")/bookstore/book
where $x/price>30
return $x/title
Le résultat sera :
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>
Avec FLWOR vous pouvez trier le résultat :
for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
La clause for sélectionne tous les éléments book sous l'élément bookstore dans une variable appelée $x.
La clause where sélectionne uniquement les éléments book avec un élément price avec une valeur supérieure à 30.
La clause order by définit l'ordre de tri. Sera trié par l'élément de titre.
La clause return spécifie ce qui doit être retourné. Ici, il renvoie les éléments de titre.
Le résultat de l'expression XQuery ci-dessus sera :
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>