Un expression X-Pointeur obéit à des règles particulières de syntaxe.
Premièrement, un X-Pointeur doit être formulé comme suit :
xpointeur(expression)
Deuxièmement, l'expression doit se trouver à la suite d'un URI (Uniform Resource identifier) compris lui-même dans l'attribut xlink:href d'un élément liant.
<element xlink:type="type" xlink:href="uri#xpointer(expression)"> ... </element>
L'expression XPointer doit être séparé de l'URI par un caractère # (dièse) comme ci-dessus.
Un X-Pointeur peut également avoir une forme abrégée appelé child sequence.
<element xlink:type="type" xlink:href="uri#/n/n/n..."> ... </element>
Une valeur d'attribut identificateur peut être également spécifié. Cette seconde forme abrégée est appelé bare name.
<element xlink:type="type" xlink:href="uri#valeur_id"> ... </element>
Il est possible d'utiliser à la fois les deux formes abrégées, child sequence et bare name.
<element xlink:type="type" xlink:href="uri#valeur_attribut/n/n..."> ... </element>
Les axes nodaux sont tous utilisables dans les expressions XPointers.
<element xlink:type="type" xlink:href="uri#epression/axes_nodaux"> ... </element>
Un X-Pointeur peut être composé de ses fonctions propres ainsi que de celles de XPath.
<element xlink:type="type" xlink:href="uri#epression/fonctions"> ... </element>
Les XPointers acceptent les prédicats.
Exemple<element xlink:type="type" xlink:href="uri#expression[prédicat]"> ... </element>
<index xlink:type="locator" xlink:href="http://www.site.com/livre.xml#xpointer(id("chap5"))"> Chapître 5 </index> <index xlink:type="locator" xlink:href="livre.xml#xpointer((id("chap9"))range-to(id("chap10")))"> Chapître 9 et 10 </index> <index xlink:type="locator" xlink:href="livre.xml#crime_et_chatiment/6"> Chapître 6 </index> <index xlink:type="locator" xlink:href="../livre.xml#/1/7"> Chapître 7 </index> <index xlink:type="locator" xlink:href="livre.xml#xpointer(child::crime_et_chatiment[position(8)])"> Chapître 8 </index> |