Les tests de noeuds permettent aux X-Pointeurs de cibler des noeuds en fonction de leur particularité.

Voir le document XML qui sert de support aux exemples de cette section.

Le test de noeud * correspond à n'importe quel élément XML. Les autres noeuds, comme les commentaires, les instructions de traitement ne sont pas pris en compte par cette instruction.

xpointer(//logiciel[position() = 1]/following-sibling::*)

Cette expression sélectionne tous les éléments contenus dans le premier noeud <logiciel> y compris ce dernier.

Le test de noeud node() représente l'ensemble des noeuds possibles dans un document XML.

xpointer(//node())

Ce pointeur sélectionne tous les noeuds du document XML.

Le test de noeud text() ne traite que les données caractères analysées (Parsed Character DATA) des éléments XML.

xpointer(//logiciel/commentaire/self::text())

Cette expression fait référence à l'ensemble des textes présents dans les éléments <commentaire>.

Le test de noeud comment() ne permet de sélectionner que les noeuds commentaires.

xpointer(/descendant::comment())

Ce XPointer atteint tous les commentaires présents dans tout le document.

Le test de noeud processing-instruction() s'intéresse essentiellement aux instructions de traitement présentes dans l'arborescence d'un document XML.

xpointer(/descendant::processing-instruction())

Dans ce cas, tous les instructions de traitement seront localisées par cette expression.

Par ailleurs, le prologue du document <?xml version="1.0"?> et la déclaration <!DOCTYPE> ne font pas partie des noeuds d'un document XML.