Le type de données range représente un intervalle entre un X-Pointeur de début et un autre de fin.
L'intervalle obtenu est contigu, puisque tout ce qui se trouve entre les deux points de début et de fin est sélectionné.
Voir le document XML qui sert de support aux exemples de cette section.
Un intervalle peut contenir une chaîne de caractères ou un ensemble de noeuds.
Des XPointers aidés par des fonctions telles que string-range() ou range() permettent de parvenir à créer des intervalles de chaînes de caractères.
xpointer(string-range(//*,'Cooktop 2.200Un éditeur XML'))
La fonction string-range() retourne un intervalle de caractères provenant de données textuelles de deux éléments différents et contigus.
<nom>[Cooktop 2.200[</nom> <commentaire> ]Un éditeur XML], XSLT, XPath et DTD... </commentaire>
Des intervalles de noeuds peuvent être également réalisés par des fonctions XPointers telles que range(), range-to() ou range-inside().
xpointer(range(//logiciel[5]))
Le pointeur ci-dessus sélectionne une plage de noeuds dans l'arborescence du document, en l'occurrence, le noeud <logiciel> avec tous ses sous-éléments.
</logiciel> <logiciel> <nom>XML Spy 3.5</nom> <commentaire> La version 4 bientôt disponible. </commentaire> <editeur lien="http://www.xmlspy.com/default.html"> Altova Inc. </editeur> <langue>EN</langue> <plateforme>Win</plateforme> <prix monnaie="$US">199,00</prix> </logiciel> <logiciel code="13404148">