что // в xslt? например
($ CurrentPage // узел)
В XPath сокращение:
//
- это сокращение от
/descendant-or-self::node()/
Значением некоторых атрибутов инструкций xslt (таких как атрибут select
) должно быть выражение XPath.
Следовательно,
($currentPage//node)
обозначает
($currentPage/descendant-or-self::node()/node)
Выбирает все элементы с именем node
, которые являются дочерними элементами узлов, которые содержатся в переменной $currentPage
или являются потомками узлов, содержащихся в переменной $currentPage
.
Обратите внимание , что в предоставленном выражении node()
есть тест узла (он выбирает все типы узлов на оси descendant-or-self::
, такие как элементы, текстовые узлы, комментарии и инструкции по обработке.
С другой стороны, somePath/node
является сокращением для somePath/child::node
и выбирает только элементы с именем node
, которые являются потомками узла контекста.
Я настоятельно рекомендую не использовать имя node
для элемента, чтобы избежать этой путаницы.