Chemins de localisation
Un chemin de localisation est une expression XPath utilisée pour sélectionner une collection de nœuds par rapport au nœud de contexte. L'évaluation d'une expression de chemin de localisation résulte en un ensemble de nœuds contenant les nœuds spécifiés par le chemin de localisation. De manière récursive, un chemin de localisation peut contenir des expressions utilisées pour filtrer des collections de nœuds.
Du point de vue de la syntaxe, un chemin de localisation se compose d'une ou de plusieurs étapes de localisation, séparées par des barres obliques (/
) :
locationstep/locationstep/locationstep
Chaque étape de localisation sélectionne à son tour une collection de nœuds par rapport au nœud de contexte, c'est-à-dire le nœud sélectionné par l'étape de localisation précédente. Un chemin de localisation exprimé de cette manière est un chemin de localisation relatif. Un chemin de localisation absolu part de l'élément racine :
/locationstep/locationstep/locationstep
Dans un chemin de localisation, les étapes de localisation sont évaluées de gauche à droite. L'étape la plus à gauche sélectionne une collection de nœuds par rapport au nœud de contexte. Ces nœuds deviennent alors le contexte utilisé pour traiter l'étape de localisation suivante. Ce processus de traitement des étapes et de mise à jour du nœud de contexte se répète jusqu'à ce que toutes les étapes de localisation aient été traitées.
Un chemin de localisation peut être abrégé ou non.
Dans un chemin de localisation non abrégé, les étapes de localisation adoptent la syntaxe suivante :
axis::node-test[predicate]
Dans cette syntaxe, axis
spécifie la relation entre les nœuds sélectionnés par l'étape de localisation et le nœud de contexte ; node-test
spécifie le type de nœud et le nom développé des nœuds sélectionnés par l'étape de localisation ; predicate
est une expression de filtre qui affine la sélection des nœuds dans l'étape de localisation. Les prédicats sont facultatifs. Dans ce cas, une étape de localisation se compose uniquement de axis::
et node-test
. Le tableau suivant donne quelques exemples.
Chemin de localisation non abrégé | Description |
---|---|
|
Sélectionne le dernier élément |
|
Sélectionne l'élément |
|
Sélectionne tous les nœuds de texte enfants du nœud de contexte. |
|
Sélectionne les éléments |
Dans un chemin de localisation abrégé, l'axe, axis::
, n'est pas exprimé explicitement dans les étapes de localisation, mais implicitement par une série de raccourcis. Le tableau suivant donne quelques exemples.
Chemin de localisation abrégé | Description |
---|---|
|
Sélectionne les éléments |
|
Sélectionne l'élément |
|
Sélectionne tous les nœuds de texte enfants du nœud de contexte. |
|
Sélectionne les éléments |
Voici une synthèse de certaines abréviations :
Non abrégé | Abrégé |
---|---|
|
|
|
|
|
|
|
|
|
|
Dans cette section
Les rubriques suivantes décrivent en détail la syntaxe et l'utilisation des parties des chemins de localisation.