Une première requête simple consiste à produire la liste des clients.
Dans la première ligne, nous déclarons la variable « client » en la faisant précéder par le signe $,
soit « $client ».
La variable « $client » est précédée de la clause FOR.
FOR lance une itération qui permet à la requête FLWOR de multiples évaluations (récursives).
La fonction « doc » ouvre le document sur lequel portera la requête.
Pour accéder au document, il est fait usage d’une « path expression ».
Une « path expression » permet de sélectionner les éléments ou attributs nécessaires.
Le point de départ en est l’élément root du file system « / », puis le répertoire « home », puis le
répertoire « jean », puis le répertoire « Mémoire_ulb_2009 », puis le répertoire « group_21juin »
et enfin le fichier « abc_avril27jn_id01.xml », puis la racine « / ABC » du fichier, puis la séquence
« client ».
Nous lions la variable $client au premier élément de la séquence « client » dont le « context node »
est « ABC ».
La boucle induite par FOR évaluera chacune des valeurs prises par chacun des éléments de la
séquence « client ».
La clause « return » envoie un élément d’information à chaque itération de la requête.
Le résultat demandé est la valeur prise par l’attribut « nom » de l’élément « client ».
A chaque évaluation, « return » enverra le nom d’un client.
Les évaluations itératives de « for » cesseront lorsqu’aura été évalué le dernier élément « client ».
Nous utilisons un « constructor » XML, afin de créer un élément
p/ , et donc un résultat de
requête sous forme XML.
Le résultat en est le suivant:
Chaque instanciation du résultat est un élément p/.
Nous pouvons modifier cette requête de façon à obtenir un arbre XML, comportant donc un élément racine, et des éléments p ne contenant que la valeur de l’attribut « nom ».
Nous choisissons de nommer l’élément racine requete/.
L’entièreté de la requête est incorporée dans les balises requete /requete.
Afin de ne conserver que la valeur atomique de l’attribut, nous faisons appel à la fonction « data »
qui permet d’extraire les valeurs atomiques d’éléments et attributs.
Le résultat est un arbre XML comportant l’élément racine « requête » parent de trois éléments p.
Notons que seuls les noms des trois clients apparaissent.
Nous utiliserons les « constructors » XML pour toutes les requêtes suivantes.