Le type de données point correspond à une position dans un élément contenant.
Voir le document XML qui sert de support aux exemples de cette section.
Cette position peut être définie par un noeud, appelé le noeud contenant, et un entier non-négatif appelé l'index.
xpointer(//noeud_contenant[index))
Lorsque le point atteint, se situe au sein d'un élément contenant d'autres éléments, le type de point se dénomme, alors, point de type noeud.
xpointer(start-point(//categorie)) xpointer(start-point(range(//logiciel[1])))
Les deux exemples ci-dessus localisent le même point dans l'arborescence du document XML. Le point se situe entre les marqueurs d'ouverture <categorie nom="Editeur"> et <logiciel> dont le nom est BBEdit 6.1.
... <categorie nom="Editeur">[Point] <logiciel> <nom>BBEdit 6.1</nom> ...
Dans le premier exemple, l'index n'est pas spécifié, néanmoins par défaut il est égal à 0, alors que le second indique 1, permettant d'accéder au premier élément <logiciel> dans le document XML.
Si le point se situe dans un élément contenant du texte sans éléments enfants, alors le type de point s'appelle type de point de caractères.
xpointer(start-point(string-range(//*,'Expert', 7, 0)))
Ce pointeur détermine un point de départ se trouvant dans l'élément <nom>Web Expert 2000</nom>. Ce point se situe à la septième place après le début de la chaîne de mise en correspondance.
... <logiciel code="13404148"> <nom>Web Expert[Point] 2000</nom> <commentaire> ...