Оси XPATH и их ярлыки

http://our.umbraco.org/wiki/reference/xslt/xpath-axes-and-their-shortcuts

Мы изучили основы выбора содержимого в связки с текущей страницей, и знаем самые основы того, как это использовать. Теперь рассмотрим несколько дополнительных команд и объясним, как они работают.

Предпосылка для работы XPATH – это оси, то есть, как данные относятся к текущему узлу. Ниже перечислены несколько осей и показано графическое представление результата. Обратите внимание, что номера осей в том порядке, в котором будут возвращены результаты.

Следующая картинка из Crane Softwrightsдемонстрирует оси в графическом виде.

Ось Self

Хотя эта ось используется редко, она, на самом деле, возвращает узел в ссылке.

$currentPage/self::node


Ось Child

Ось Child упоминалась ранее, и, на самом деле, сразу же использовали ее ярлык. Ось Child выбирает узлы непосредственно под узлом в ссылке. Хотя подробный метод используется редко, здесь он приведен для справки.

$currentPage/child::node
$currentPage/node


Ось Parent

Ось Parent позволяет увидеть узел, расположенный непосредственно над узлом в ссылке.

$currentPage/parent::node
$currentPage/../


Ось Descendant

Ось Descendant извлекает все узлы под узлом в ссылке, вне зависимости от глубины.

$currentPage/descendant::node
$currentPage//node


Ось Descendant-or-self

Ось Descendant-or-self возвращает все узлы под текущим, п также узел в ссылке на команду.

$currentPage/descendant-or-self::node


Ось Ancestor

Ось Ancestor выбирает все узлы, являющиеся предками узла в ссылке – родителя, или родителя родителя и так далее.

$currentPage/ancestor::node


Ось Ancestor-or-self

Ось Ancestor-or-self выбирает все узлы, являющиеся предками - родителем, родителем родителя и так далее, а также узел в ссылке.

$currentPage/ancestor-or-self::node


Ось Preceding

Ось Preceding выбирает все узлы, вне зависимости от глубины, расположенные на уровне родителя и перед родителем узла в ссылке.

$currentPage/preceding::node


Ось Preceding-sibling

Ось Preceding-sibling выбирает все узлы, расположенные на том же уровне и перед узлом в ссылке.

$currentPage/preceding-sibling::node


Ось Following

Ось Following выбирает все узлы, вне зависимости от глубины, расположенные на уровне родителя и после родителя узла в ссылке.

$currentPage/following::node


Ось Following-sibling

Ось Following-sibling выбирает все узлы, расположенные на том же уровне и после узла в ссылке.

$currentPage/following-sibling::node