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
Outils personnels