En XPath 1.0 o posterior utilizar:
SomeExpression | SomeExpresion/node()
En XPath 2.0 o posterior utilizan:
SomeExpression/(self::node()|node())
una respuesta incorrecta habría:
SomeExpression | SomeExpresion/*
porque selecciona solo los elementos secundarios de SomeExpression
que son elementos, mientras que SomeExpression
también pueden tener otros elementos secundarios, como nodos de texto, nodos de comentario, nodos de instrucciones de procesamiento.
también es incorrecto:
./SomeExpression | ./*/SomeExpression
Esto no selecciona los elementos secundarios inmediatos de ./SomeExpression
y no seleccionar a los niños immidiate de ./*/SomeExpression
.
Buena pregunta, +1. Vea mi respuesta como la única respuesta correcta hasta ahora. Tenga en cuenta que la respuesta seleccionada actualmente es incorrecta. :) –