Le plus fondamental des modèles de XPath est le modèle qui met en référence le noeud courant, qui se compose d'un signe de période :
.
Une période obtiendra le node.when courant que vous traversez un arbre de document. Ainsi le modèle courant de noeud est donc un modèle relatif parce qu'il se comprend seulement dans le contexte d'un arbre des données. Pendant qu'un contraste au modèle courant, qui est relatif, considèrent le modèle qui est employé pour choisir le noeud de racine d'un document. Ce modèle s'appelle comme modèle de racine et se compose d'une estafilade vers l'avant simple :
/
Si vous employez une estafilade vers l'avant simple dans une expression pour le document témoin de notation de formation, il se rapporterait à l'élément de trainlog parce que cet élément est l'élément de racine du document. Puisque le modèle de racine met en référence directement un endroit spécifique dans un document (le noeud de racine), on le considère également un modèle absolu. Le modèle de racine est extrêmement important pour XPath parce qu'il représente le point de départ de l'arbre du noeud du document.
S'il y a les noeuds d'enfant là doivent également être des noeuds de parent. Pour accéder à un noeud de parent, vous devez employer deux périodes :
..
Comme exemple, si le contexte courant est l'un des éléments de distance puis dans le document de notation de formation. le modèle de parent mettra en référence le parent du noeud, qui est un élément de session . Vous pouvez remonter des modèles pour obtenir des résultats plus intéressants. par exemple adresser un noeud d'enfant de mêmes parents, vous devez d'abord aller au parent et puis mettez en référence l'enfant de mêmes parents en tant qu'enfant. En d'autres termes, vous employez le modèle de parent (.) suivi d'une estafilade vers l'avant (/) suivie du nom d'enfant de mêmes parents, comme ceci :
../duration
Ce modèle suppose que le contexte est l'un des éléments d'enfant de l'élément de session (autre que la durée). Assumant ce contexte, le modèle de ../duration mettra en référence l'élément de durée comme noeud d'enfant de mêmes parents.
Jusqu'ici je me suis concentré sur mettre en référence différents noeuds. Cependant, il est également possible de choisir des noeuds multiples. Par exemple, vous pouvez choisir tous les noeuds d'enfant (descendants) d'un noeud donné en utilisant le double modèle d'estafilade :
//
Comme exemple, si le contexte est l'un des éléments de session dans la notation document.e.g. de formation vous pouvez choisir tous ses noeuds d'enfant en employant de doubles estafilades. Ceci a comme conséquence la durée . , distance , endroit , et éléments de commentaires étant choisis.
Une autre manière de choisir des noeuds multiples est d'employer le modèle de wildcard, qui est un astérisque :
*
Le modèle de wildcard choisit tous les noeuds dans un contexte donné. Ainsi, si le contexte était un élément de session et vous employiez le modèle */distance , tous les éléments de distance dans le document seraient choisis. Ceci se produit parce que le modèle premier de wildcard a comme conséquence tous les éléments de session d' enfant de mêmes parents étant choisis, après quoi le choix est limité aux éléments de distance d' enfant.
Pour récapituler, suivants sont les modules primaires employés pour mettre en référence des noeuds dans XPath :
- Noeud courant
.
- Noeud de racine
- Noeud de parent
.
- Noeud-Enfant d'enfant
- Enfant de mêmes parents node-/Sibling
- Tous les noeuds d'enfant
- Tout le nodes-*
|