Узел контекста в XPath -
- либо корневой узел, когда выражение XPath является абсолютным (начинается с
/
)
- или текущий узел XSLT (когда выражение является относительным)
В вашем случае контекстом для второй части объединения XPath будет узел, который был текущим до <xsl:for-each>
.
Внутри for-each контекстный узел переключается на каждый узел, для которого выполняется итерация.
Для результата объединения XPath важен порядок документов. Если /ROOT_NODE/NODE_1/NODE_11/LOCALE[CO >= 8]
предшествует NODE_2/NODE_22/OCA
в документе, то первая часть будет обработана первой, иначе наоборот.
В общем, не стоит полагаться на этот побочный эффект. Вы должны объявить порядок сортировки (<xsl:sort>
) или не выполнять итерацию по объединению разных вещей (используйте два последовательных цикла <xsl:for-each>
, чтобы сделать порядок вывода фиксированным и очевидным).