В XPath 1.0 или более поздней версии используйте :
SomeExpression | SomeExpresion/node()
В XPath 2.0 или более поздней версии используйте :
SomeExpression/(self::node()|node())
Неправильный ответ будет :
SomeExpression | SomeExpresion/*
, поскольку он выбирает только те дочерние элементы SomeExpression
, которые являются элементами, тогда как SomeExpression
может иметь и другие дочерние элементы - как текстовые узлы, узлы комментариев, узлы инструкций обработки.
Также неверно :
./SomeExpression | ./*/SomeExpression
Это не выбирает непосредственных потомков ./SomeExpression
и не выбирает непосредственных потомков ./*/SomeExpression
.