range() XPointer function[1] returns wrong locations: $ ./test-xpointer '<r>1<a>2</a>3<b/></r>' 'range(//a)' <?xml version="1.0"?> <root><r xml:base="/tmp/tmp.XXXXgAmOW2">1</r></root> $ ./test-xpointer '<r>1<a>2</a>3<b/></r>' 'range(//b)' <?xml version="1.0"?> <root><r xml:base="/tmp/tmp.XXXXJUZujm"><a/></r></root> [1] http://www.w3.org/TR/xptr-xpointer/#dt-covering-range