The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

========================
Expression: xpointer(//chapter[position() = 2]/range-to(following::chapter[1]))
Object is a Location Set:
1 : Object is a range :
From node
ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter2
To node
ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter3
========================
Expression: xpointer(//chapter[position() <= 2]/range-to(following::chapter[1]))
Object is a Location Set:
1 : Object is a range :
From node
ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter1
To node
ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter2
2 : Object is a range :
From node
ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter2
To node
ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter3
========================
Expression: xpointer(//chapter[position() = last()]/range-to(following::chapter[1]))
Object is empty (NULL)
========================
Expression: xpointer(//chapter[position() = 3]/range-to(/.//chapter[position() = 1]))
Object is a Location Set:
1 : Object is a range :
From node
ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter1
To node
ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter3