1 2 ======================== 3 Expression: xpointer(//chapter[position() = 2]/range-to(following::chapter[1])) 4 Object is a Location Set: 5 1 : Object is a range : 6 From node 7 ELEMENT chapter 8 ATTRIBUTE id 9 TEXT 10 content=chapter2 11 To node 12 ELEMENT chapter 13 ATTRIBUTE id 14 TEXT 15 content=chapter3 16 17 18 ======================== 19 Expression: xpointer(//chapter[position() <= 2]/range-to(following::chapter[1])) 20 Object is a Location Set: 21 1 : Object is a range : 22 From node 23 ELEMENT chapter 24 ATTRIBUTE id 25 TEXT 26 content=chapter1 27 To node 28 ELEMENT chapter 29 ATTRIBUTE id 30 TEXT 31 content=chapter2 32 33 2 : Object is a range : 34 From node 35 ELEMENT chapter 36 ATTRIBUTE id 37 TEXT 38 content=chapter2 39 To node 40 ELEMENT chapter 41 ATTRIBUTE id 42 TEXT 43 content=chapter3 44 45 46 ======================== 47 Expression: xpointer(//chapter[position() = last()]/range-to(following::chapter[1])) 48 Object is empty (NULL) 49 50 ======================== 51 Expression: xpointer(//chapter[position() = 3]/range-to(/.//chapter[position() = 1])) 52 Object is a Location Set: 53 1 : Object is a range : 54 From node 55 ELEMENT chapter 56 ATTRIBUTE id 57 TEXT 58 content=chapter1 59 To node 60 ELEMENT chapter 61 ATTRIBUTE id 62 TEXT 63 content=chapter3 64 65