| Каталог | Индекс раздела |
| Назад | Содержание | Вперед |
XQuery обеспечивает сокращенный синтаксис для выражения осей в выражениях маршрута.
Следующая таблица описывает сокращенный синтаксис для выражений маршрута.
Таблица 1. Сокращенный синтаксис для выражений маршрута
| Сокращенный синтаксис | Описание | Примеры |
| ось не задана |
Сокращение для child::, кроме случая, когда шаг адресации задаетattribute() для проверки узла. Если шаг адресации задает проверку атрибута, опущенная ось является сокращением для attribute::. |
The выражение маршрута section/para является сокращением для child::section/child::para. The выражение маршрута section/attribute() является сокращением для child::section/attribute::attribute(). |
@ |
Сокращение для attribute::. |
The выражение маршрута section/@id является сокращением для child::section/attribute::id. |
// |
Сокращение для /descendant-or-self::node()/, кроме случая, когда это сокращение появляется в начале выражения маршрута. Когда это сокращение появляется в начале выражения маршрута, шаг адресации выбирает как начальный узел последовательность, которая содержит корень дерева, в котором находится контекстный узел, плюс все потомки этого корня. Это выражение возвращает ошибку, если корневой узел не является узлом документа. |
Выражение маршрута div1//para является сокращением для child::div1/descendant-or-self::node()/child::para . |
.. |
Сокращение для parent::node(). |
The выражение маршрута ../title является сокращением для parent::node()/child::title . |
Примеры сокращенного и несокращенного синтаксиса
Следующая таблица представляет примеры сокращенного и несокращенного синтаксиса.
Таблица 2. Несокращенный синтаксис и сокращенный синтаксис
| Несокращенный синтаксис | Сокращенный синтаксисРезультат | |
child::para |
para |
Выбирает элементы para, которые являются дочерними элементами контекстного узла. |
child::* |
* |
Выбирает все элементы которые являются дочерними элементами контекстного узла. |
child::text() |
text() |
Выбирает все текстовые элементы которые являются дочерними элементами контекстного узла. |
child::node() |
node() |
Выбирает все дочерние элементы контекстного узла. Это выражение не возвращает узлы атрибутов, поскольку атрибуты не являются дочерними элементами узла. |
attribute::name |
@name |
Выбирает атрибут name контекстного узла. |
attribute::* |
@* |
Выбирает Selects all of the attributes of the контекстный узел. |
child::para[fn:position() = 1] |
para[1] |
Выбирает первый элемент para, который является дочерним элементом контекстного узла. |
child::para[fn:position() = fn:last()] |
para[fn:last()] |
Выбирает последний элемент para, который является дочерним элементом контекстного узла. |
/child::book/child::chapter[fn:position() = 5]
/child::section[fn:position() = 2] |
/book/chapter[5]/section[2] |
Выбирает второй элемент section из пятого элемента chapter в элементе book, предком которого является документный узел, контекстный узел. |
child::para[attribute::type="warning"] |
para[@type="warning"] |
Выбирает все дочерние элементы para контекстного узла, которые имеют атрибут type со значением warning. |
child::para[attribute::type='warning']
[fn:position() = 5] |
para[@type="warning"][5] |
Выбирает пятый дочерний элемент para контекстного узла, который имеет атрибут type со значением warning. |
child::para[fn:position() = 5]
[attribute::type="warning"] |
para[5][@type="warning"] |
Выбирает пятый дочерний элемент para контекстного узла, если дочерний элемент имеет атрибут type со значением warning. |
child::chapter[child::title='Introduction'] |
chapter[title="Introduction"] |
Выбирает дочерний элемент chapter контекстного узла, который имеет один или более дочерних элементов title, значение которых эквивалентно строке Introduction. |
child::chapter[child::title] |
chapter[title] |
Выбирает дочерний элемент chapter контекстного узла, который имеет или более дочерних элементов title. |
| Назад | Содержание | Вперед |
| Каталог | Индекс раздела |