XPath

De Linuxmemo.

XPath est un langage pour adresser des parties de documents XML, conçu pour être utilisé à la fois par XSLT et XPointer.

refs: http://xmlfr.org/w3c/TR/xpath/ http://msdn.microsoft.com/fr-fr/library/ms256115%28v=vs.80%29.aspx

Tuto: http://www.csharpfr.com/tutoriaux/XPATH-LANGUAGE_536.aspx

Contexte des expressions XPath

  • Contexte actuel

Une expression précédée d'un point et d'une barre oblique (./) utilise explicitement comme contexte le contexte actuel. Par exemple, l'expression suivante fait référence à tous les éléments <author> dans le contexte actuel :

./author
Notez que cette expression est équivalente à la suivante :
author
  • Racine du document

Une expression précédée d'une barre oblique (/) utilise comme contexte la racine de l'arborescence du document. Par exemple, l'expression suivante fait référence à l'élément <bookstore> à la racine de ce document :

/bookstore
  • Élément racine

Une expression qui utilise une barre oblique suivie d'un astérisque (/*) utilise comme contexte l'élément racine. Par exemple, l'expression suivante trouve l'élément racine du document :

/*
  • Descendant récursif

Une expression qui utilise une barre oblique double (//) indique une recherche qui inclut zéro, un ou plusieurs niveaux de hiérarchie. Lorsque cet opérateur apparaît au début du modèle, le contexte est relatif à la racine du document. Par exemple, l'expression suivante fait référence à tous les éléments <author> partout dans le document actuel :

//author

Le préfixe .// indique que le contexte commence au niveau de la hiérarchie indiqué par le contexte actuel.

  • Éléments spécifiques

Une expression qui commence par un nom d'élément fait référence à une requête de l'élément spécifique, à partir du nœud de contexte actuel. Par exemple, l'expression suivante fait référence à l'élément <background.jpg> à l'intérieur de l'élément <images> dans le nœud de contexte actuel :

images/background.jpg

L'expression suivante fait référence à l'ensemble d'éléments <book> à l'intérieur des éléments <bookstore> dans le nœud de contexte actuel :

bookstore/book

L'expression suivante fait référence à tous les éléments <first.name> dans le nœud de contexte actuel :

first.name

Opérateurs et caractères spéciaux

Les expressions XPath se construisent à l'aide des opérateurs et caractères spéciaux indiqués dans le tableau suivant.

/

Opérateur enfant ; sélectionne les enfants immédiats de la collection du côté gauche. Lorsque cet opérateur de chemin apparaît au début du modèle, il indique que les enfants doivent être sélectionnés dans le nœud racine.

//

Descendant récursif ; cherche l'élément spécifié à n'importe quelle profondeur. Lorsque cet opérateur de chemin apparaît au début du modèle, il indique un jambage descendant récursif à partir du nœud racine.

.

Indique le contexte actuel.

..

Le parent du nœud de contexte actuel.

*

Caractère générique ; sélectionne tous les éléments quel que soit leur nom.

@

Attribut ; préfixe d'un nom d'attribut.

@*

Caractère générique d'attribut ; sélectionne tous les attributs quel que soit leur nom.

:

Séparateur d'espace de noms ; sépare le préfixe d'espace de noms du nom de l'élément ou de l'attribut.

( )

Regroupe les opérations pour établir de manière explicite leur ordre de priorité.

[ ]

Applique un modèle de filtre.

[ ]

Opérateur d'indice ; utilisé pour l'indexation au sein d'une collection.

+

Effectue une addition.

-

Effectue une soustraction.

div

Effectue une division à virgule flottante selon IEEE 754.

*

Effectue une multiplication.

mod

Retourne le reste d'une division tronquée.

Outils personnels