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.