Institut numerique

Produire une liste de clients

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.

Page suivante : Les liens

Retour au menu : Elaboration d’une application de la méthode Activity Based Costing utilisant les technologies XML