Axes (Axe) XPath
- Page précédente Grammaire XPath
- Page suivante Opérateurs XPath
Document d'exemple XML
Nous allons utiliser ce document XML dans les exemples suivants :
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore><title lang="eng">Harry Potter</title> <price>29.99</price> </book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>
Axe XPath
L'axe peut définir un ensemble de noeuds par rapport au noeud courant. | Résultat |
---|---|
Nom de l'axe | ancestor |
Sélection de tous les ancêtres (parent, grand-parent, etc.) de l'élément courant. | ancestor-or-self |
Sélection de tous les ancêtres (parent, grand-parent, etc.) de l'élément courant ainsi que de l'élément courant lui-même. | Sélection de toutes les propriétés de l'élément courant. |
attribute | Sélection de tous les éléments enfants de l'élément courant. |
child | descendant |
Sélection de tous les éléments descendants (fils, petits-fils, etc.) de l'élément courant. | descendant-or-self |
Sélection de tous les éléments descendants (fils, petits-fils, etc.) de l'élément courant ainsi que de l'élément courant lui-même. | following |
Sélection de tous les noeuds après la balise de fin de l'élément courant dans le document. | namespace |
Sélection de tous les noeuds namespace de l'élément courant. | parent |
Sélection du noeud parent de l'élément courant. | preceding |
Sélection de tous les noeuds avant la balise de début de l'élément courant dans le document. | preceding-sibling |
Sélection de tous les noeuds frères antérieurs au noeud courant. | self |
Sélection du noeud courant.
Expression du chemin de position
Le chemin de position peut être absolu ou relatif.
Le chemin absolu commence par une barre oblique inversée ( / ), tandis que le chemin relatif ne le fait pas. Dans les deux cas, le chemin de position inclut un ou plusieurs étapes, et chaque étape est séparée par une barre oblique :
/step/step/...
Chemin relatif :
step/step/...
Chaque étape est calculée en fonction des noeuds du jeu de noeuds courant.
L'étape (step) inclut :
- Axe (axis)
- Définir la relation d'arbre entre le noeud sélectionné et le noeud courant
- Test de noeud (node-test)
- Identifier les noeuds à l'intérieur d'un axe donné
- Zéro ou plusieurs prédicats (predicate)
- Affiner davantage le jeu de noeuds sélectionnés
Grammaire des étapes :
Nom de l'axe::noeud test[prédicat]
Instance
Exemple | Résultat |
---|---|
child::book | Sélection de tous les éléments book appartenant aux éléments enfants de l'élément courant. |
attribute::lang | Sélection de la propriété lang de l'élément courant. |
child::* | Sélection de tous les éléments enfants de l'élément courant. |
attribute::* | Sélection de toutes les propriétés de l'élément courant. |
child::text() | Sélection de tous les noeuds enfants textuels de l'élément courant. |
child::node() | Sélection de tous les noeuds enfants de l'élément courant. |
descendant::book | Sélectionnez tous les descendants book de l'élément courant. |
ancestor::book | Sélectionnez tous les ancêtres book de l'élément courant. |
ancestor-or-self::book | Sélectionnez tous les ancêtres book de l'élément courant ainsi que l'élément courant (si cet élément est un élément book) |
child::*/child::price | Sélectionnez tous les descendants price de l'élément courant. |
- Page précédente Grammaire XPath
- Page suivante Opérateurs XPath