La formulation complète des expressions peuvent combiner plusieurs parties spécifiques des XPointers.

Un X-Pointeur commence toujours par le mot xpointer, hormis pour les formes abrégées, et renferme l'expression à proprement parler au sein de paranthèses.

xpointer(expression)

xpointer(/descendant::element[6])

L'exemple ci-dessus permet d'atteindre le sixième élément qui descend directement ou indirectement du noeud racine.

Une combinaison de plusieurs X-Pointeurs se suivant, séparés par un espace blanc, permet une évaluation de la gauche vers la droite en cas d'échec de la partie précédente pour une quelconque raison.

  • Le XPointer est inconnu.
  • Le XPointer n'est pas applicable au type de média de la ressource.
  • Le XPointer ne parvient pas à localiser une sous-ressource dans la ressource.
  • La fonction string-range du XPointer, possèdant un argument chaîne de caractères, ne trouve pas la chaîne dans la valeur du noeud localisé.
  • Le troisième et quatrième argument de la fonction string-range indique une chaîne qui se trouve au delà du commencement ou de la fin d'un document.
  • Le noeud retourné par la fonction start-point est du type attribut ou espace de noms.
xpointer(expression) xpointer(expression)

xpointer(/elt_racine/element) xpointer(//element)

Ce pointeur sélectionne les éléments <element> présents sous l'élément racine <elt_racine>. Si la première expression échoue alors la seconde prend le relais et tente de trouver l'élément <element> dans la descendance du noeud racine.

Sommaire