Nœuds XPath

Dans XPath, il y a sept types de noeuds : élément, attribut, texte, espace de nom, instruction de traitement, commentaire et noeud de document (ou racine).

Terminologie XPath

Noeud

Dans XPath, il y a sept types de noeuds : élément, attribut, texte, espace de nom, instruction de traitement, commentaire et noeud de document (ou racine). Le document XML est traité comme un arbre de noeuds. La racine de l'arbre est appelée noeud de document ou noeud racine.

Voyons ce document XML ci-dessous :

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author> 
  <year>2005</year>
  <price>29.99</price>
</book>
</bookstore>

Exemples de noeuds dans le document XML suivant :

<bookstore> (noeud de document)
<author>J K. Rowling</author> (noeud d'élément)
lang="en" (noeud d'attribut) 

Valeur de base (ou valeur atomique)

Les valeurs de base sont des noeuds sans père ou sans enfants.

Exemples de valeurs de base :

J K. Rowling
"en"

Projet

Un projet est une valeur de base ou un noeud.

Rapports de noeud

Père

Chaque élément et attribut a un père.

Dans l'exemple suivant, l'élément book est le père des éléments title, author, year et price :

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

Enfant

Un noeud d'élément peut avoir zéro, un ou plusieurs enfants.

Dans l'exemple suivant, les éléments title, author, year et price sont des enfants de l'élément book :

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

Frère

Noeuds ayant le même père.

Dans l'exemple suivant, les éléments title, author, year et price sont frères :

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

Ancêtre

Père, grand-père, etc. d'un noeud.

Dans l'exemple suivant, les ancêtres de l'élément title sont les éléments book et bookstore :

<bookstore>
<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>
</bookstore>

Descendant

Fils, petits-fils, etc. d'un noeud.

Dans l'exemple suivant, les descendants de bookstore sont les éléments book, title, author, year et price :

<bookstore>
<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>
</bookstore>