Le XML Exemple de document
Nous utiliserons le document XML suivant dans les exemples ci-dessous.
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title lang="en">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="en">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
Axes XPath
Un axe définit un ensemble de noeuds par rapport au noeud courant.
AxisName | Résultat |
---|---|
ancêtre | Sélectionne tous les ancêtres (parent, grandparent, etc.) - (parent, grandparent, etc.) du noeud courant |
ancestor-or-self | Sélectionne tous les ancêtres (parent, grandparent, etc.) - (parent, grandparent, etc.) du noeud courant et le noeud courant lui - même |
attribut | Sélectionne tous les attributs du noeud courant |
enfant | Sélectionne tous les enfants du noeud courant |
descendant | Sélectionne tous les descendants (children, grandchildren, etc.) - (children, grandchildren, etc.) du noeud courant |
descendant-or-self | Sélectionne tous les descendants (children, grandchildren, etc.) - (children, grandchildren, etc.) du noeud courant et le noeud courant lui - même |
Suivant | Sélectionne tout dans le document après la balise de fermeture du noeud courant |
following-sibling | Sélectionne tous les frères et soeurs après le noeud courant |
espace de noms | Sélectionne tous les nœuds d'espace de nommage du noeud courant |
parent | Sélectionne le parent du noeud courant |
précédent | Sélectionne tous les nœuds qui apparaissent avant le nœud actuel dans le document, à l'exception des ancêtres, attributs des noeuds et des noeuds d'espace de noms |
preceding-sibling | Sélectionne tous les frères et soeurs avant le noeud courant |
soi | Sélectionne le noeud courant |
Lieu Expression Path
Un chemin de localisation peut être absolue ou relative.
Un chemin d'accès absolu commence par une barre oblique ( / ) et un chemin d'emplacement relatif ne fonctionne pas. Dans les deux cas, le chemin de localisation consiste en une ou plusieurs étapes, chacune étant séparée par une barre oblique:
An absolute location path:
/step/step/...
A relative location path:
step/step/...
Chaque étape est évalué par rapport à des noeuds dans l'ensemble de noeuds de courant.
Une étape consiste à:
- un axe (defines the tree-relationship between the selected nodes and the current node)
- un noeud test (identifies a node within an axis) à l' (identifies a node within an axis) d' (identifies a node within an axis)
- zéro ou plusieurs prédicats (to further refine the selected node-set) de (to further refine the selected node-set)
La syntaxe d'une étape de localisation est:
axisname::nodetest[predicate]
Exemples
Exemple | Résultat |
---|---|
enfant :: livre | Sélectionne tous les nœuds de livres qui sont des enfants du noeud courant |
attribute :: lang | Sélectionne le lang attribut du noeud courant |
enfant::* | Sélectionne tous les éléments enfants du noeud courant |
attribut::* | Sélectionne tous les attributs du noeud courant |
child :: text() | Sélectionne tous les enfants de noeud texte du noeud courant |
enfant :: node() | Sélectionne tous les enfants du noeud courant |
descendant :: livre | Sélectionne tous les descendants du livre du noeud courant |
ancêtre :: livre | Sélectionne tous les ancêtres du livre du noeud courant |
ancêtre ou self :: livre | Sélectionne tous les ancêtres du livre du noeud courant - et le courant ainsi si elle est un nœud de livre |
child :: * / enfant :: prix | Sélectionne tous les petits-enfants des prix du noeud courant |