Devolución de la orden correcta de XPath (insted de orden del documento)

Entonces me dieron una tarea en mi universidad para "reparar" XPath y hacer que devuelva los nodos en el orden correcto.

He estado tratando de encontrar una forma de escribir un código muy largo, dividir cada expresión en pequeñas paces y volver a armarla.

He pensado en algunas ideas pero necesito ayuda para hacerlas realidad :)

Encuentre el método en el tarro de XPath que ordena los nodos y elimínelo. El problema es que no sé si es posible ver el código del tarro de XPath, y no lo encontré en línea. Si me puede señalar, ¡eso sería genial!

He encontrado esta opción que parece que debería hacer el trucohttp://cafeconleche.org/books/xmljava/chapters/ch16s06.html
pero exige la implementación de dom XPath 3.0 y no puedo encontrar ese dominio en ninguna parte, ¿tengo alguna idea de si existe algo así?

Si tienes alguna otra idea, me encantaría escucharla.

Por ejemplo: para este xml

<code> <library> 
 <book name="book1"> 
  hello 
 </book> 
 <book name="book2"> 
  world 
 </book>
 <book name="book3">
  !!! 
 </book>
 </library>
</code>

y esta expresión: / library / book [3] / precedant-brother :: book Im getting

libro1 libro2

insted de

libro2 libro1

Puedo usar cualquier cosa siempre que lo haga en un programa java

Gracias por toda tu ayuda :)

Respuestas a la pregunta(1)

Su respuesta a la pregunta