Skip to content

Les fichiers XML sont des arbres — N° 4c/XXX

08/01/2010

Je termine cette sous-série (3 billets) sur les arbres et les nœuds dans les fichiers XML, mais ces concepts seront illustrés de manière permanente, donc il y a peu de chances que vous les oubliiez.

Corrigé du billet précédent :

  • Premier fichier XML : proposition 2
  • Deuxième fichier XML : proposition 3

La valeur d’un noeud (<xsl:value-of select= »… »)

Pour le processeur XSL, la valeur d’un nœud est l’ensemble des nœuds enfants et descendants de type texte de ce nœud. Ce n’est pas la valeur du texte dépendant directement de ce nœud.

  • Si je demande la valeur du noeud <dll> (<xsl:value-of select= »//dll »), je n’obtiendrai pas une chaîne de caractère vide, mais l’intégralité des nombres d’habitants et d’inscrits mis bout à bout.
  • Si pour chaque ville (<xsl:for-each select= »//ville »>) je demande la valeur du nœud <ville> lui-même, le processeur me fournira, mis bout à bout, tous les éléments texte placés sous la balise <ville>. Ce qui donnera, pour les 3 premiers noeuds <ville> :
    • (premier nœud) 2247 35 2351 571
    • (deuxième nœud) 11329 1179 11821 927
    • (troisième nœud) 43008 9992 42333 7669

Petit exercice

1. Voici un fichier XSL très court, à appliquer au fichier XML des 2 billets précédents (statistiques DLL : population et inscrits pour 2005 et 2008) En voici le contenu :

Quel noeud sélectionne-t-il (quelle valeur va-t-il produire) ?

Possibilité 1

Possibilité 2

Possibilité 3

(réponse dans le prochain billet)

2. Ouvrez le fichier XML avec XML Copy Editor (ou autre éditeur XML) et appliquez ce fichier XSL pour faire la transformation.

Les noms des villes sont-ils présents dans le résultat ? Pourquoi ?

Publicités
%d blogueurs aiment cette page :