Les Xpointers sont capables de cibler n'importe quel noeud, une position dans la valeur d'un noeud ou un intervalle de noeuds dans l'arborescence d'un document XML.

Les pointeurs ont la possiblité de cibler une ressource par un chemin soit absolu, soit relatif.

Lorsqu'une ressource est pointée directement par une expression, alors il s'agit d'un accès absolu.

En fait, un XPointer peut atteindre de façon directe, un élément quelconque par l'intermédiaire de son identificateur unique de type ID.

xpointer(id(identificateur))

De même que le noeud racine du document peut également être atteint directement par la fonction root() ou par son abréviation /.

xpointer(root())

xpointer(/)

L'autre manière d'accèder à une ressource, s'effectue par un cheminement relatif, car le pointage s'accomplit selon des étapes successives, c'est-à-dire qu'une ressource est atteinte par rapport à un noeud de départ, éventuellement d'autres noeuds intermédiaires et un noeud d'arrivée en l'occurrence, la cible.

Dans ce cas, les axes nodaux, les tests de noeuds, les fonctions XPath, les prédicats, ainsi que les fonctions XPointer peuvent servir dans l'élaboration de telles expressions.

<!-- Axe nodal, Fonction XPath, Prédicat-->
xpointer(/descendant::element[position() = 1])

<!-- Formulation XPointer abrégée -->
/1/2/2/6/9

<!-- Axe nodal, Test de noeud, Fonction XPath, Prédicat -->
xpointer(//element/child::text()[last()]

<!-- Axe nodal, Fonction XPath, Fonction XPointer -->
xpointer(id('identificateur')range-to(id('identificateur')))