Dans les chemins précédents, nous avons utilisé l'axe par défaut, child
, qui peut être omis. Si on ne l'omet pas, voici ce que donne /html/body
: /child::html/child::body
. Nous avons vu aussi l'axe opposé, parent
, dans sa forme abrégée: ..
. Il en existe 13 en tout, que vous retrouvez dans le tableau suivant:
Tableau 1. Les axes
Axe | Forme abrégée | Explication |
---|---|---|
self | . | Noeud courant (. et self::node() sont similaires) |
parent | .. | Noeud parent (.. et parent::node() sont similaires) |
ancestor | n/a | Tout noeud contenant le noeud courant, parent et racine inclus |
ancestor-or-self | n/a | Comme ancestor , mais avec le noeud courant inclus |
child | Noeud fils (nom et child::nom sont similaires) |
|
descendant | n/a | Noeuds fils et tous les noeuds dont le noeud courant est le père |
descendant-or-self | // | Comme descendant , mais avec le noeud courant inclus (//nom et descendant-or-self::nom()/ sont similaires |
preceding-sibling | n/a | Les noeuds frères précédent le noeud courant, ou plus précisément tous les noeuds pécédent le noeud courant qui ont le même noeud parent |
preceding | n/a | Comme preceding-sibling , mais sans les noeuds d'attributs et d'espace de noms |
following-sibling | n/a | Les noeuds frères suivant le noeud courant, ou plus précisément tous les noeuds suivant le noeud courant qui ont le même noeud parent |
following | n/a | Comme following-sibling , mais sans les noeuds d'attributs et d'espace de noms |
attribute | @ | Tous les noeuds d'attributs du noeud courant (@nom et attribute::nom sont similaires) |
namespace | n/a | Tous les espaces de noms du noeud courant |
Vous pouvez remarquer ainsi que sur les 13 axes possibles, seuls 5 ont une forme abrégée. Pour les 8 autres, c'est la forme complète qu'il faut prendre! Mais cela n'est pas génant, car à l'image des autres articles, l'utilisation des 8 axes qui n'ont pas de forme abrégée est plus rare.
© 2003 Yves Mettier