Les tests de nœud
Les tests de noeud disponible en XPath
Ce chapitre est basé directement sur la recommandation W3C concernant XPath, disponible ici.
test de nom
Définition : test de nom
Le test de nom est le test de nœud le plus courant. Pour 90% des étudiants présent il est même possible d'affirmer que vous n'avez jamais fait d'expression XPath sans utiliser ce test.
Le test de nom est celui que vous utilisez quand vous spécifiez le nom d'une balise.
Exemple :
On reprend ici le premier exemple de la section sur les axes
Renvoi :
Vous avez ici utilisé 3 tests de nom pour progresser dans la structure du document
text()
Définition : test de nœud texte
En plus du test de nom nous avons aussi utilisé un autre type de test de nœud dans l'exemple précédent, il s'agit du test de nœud text()
Ce test permet de sélectionner le texte contenu dans une balise. Plus précisément il sélectionne les nœuds de type text()
Exemple :
On reprend ici à nouveau le premier exemple de la section sur les axes
Renvoi :
comment()
Définition : test de nœud commentaire
Il est possible d'accéder aux commentaires présents dans un document XML. Pour cela, on utilise le test de nœud comment()
node()
Définition : test de nœud quelconque
Il existe aussi un "non test" de nœud, renvoyant simplement tout les nœuds disponibles. C'est le test de nœud node()
Exemple :
Renvoi :
\n\t\t
<titre lang="fr">Harry Potter</titre>
\n\t\t
<prix>29.99</prix>
\n\t
\n\t\t
<titre lang="fr">Apprendre XML</titre>
\n\t\t
<prix>39.95</prix>
\n\t\t
<!-- pas donné! -->
\n\t\t
\n\t
\n\t\t <titre lang="fr">Harry Potter</titre> \n\t\t <prix>29.99</prix> \n\t \n\t\t <titre lang="fr">Apprendre XML</titre> \n\t\t <prix>39.95</prix> \n\t\t <!-- pas donné! --> \n\t\t \n\t
Notez que vous avez 3 types de nœuds ici :
Les nœuds d'éléments, auxquels on accède en général avec un test de nom
Les nœuds de texte, auxquels on accède avec le test text()
Les nœuds de commentaire, auxquels on accède avec le test comment()
Il en existe un 4ème qui constitue le dernier type de nœud constitutif du langage XML qui possède lui aussi son test.