КаталогИндекс раздела
НазадСодержаниеВперед

Выражения маршрута

Выражения маршрута идентифицируют узлы в дереве XML. Выражения маршрута в XQuery в DB2 основываются на синтаксисе XPath 2.0.

Выражение маршрута состоит из одного или более шагов, разделенных наклонной чертой (/) или двумя наклонными чертами (//). Выражение маршрута может начинаться с шага или наклонной черты или с двух наклонных черт. Каждый шаг до финального шага генерирует последовательность узлов, которая используется как контекстные узлы для следующего шага.

Первый шаг задает стартовую точку маршрута, часто с вызова функции или обращения к переменной. Начальная "/" показывает, что маршрут начинается в корневом узле дерева, которое содержит контекстный узел. Начальные "//" показывают, что маршрут начинается в начальном узле последовательности, которая содержит контекстный узел и все потомки корневого узла.

Каждый шаг выполняется неоднократно, один раз для каждого контекстного узла, сгенерированного на предыдущем шаге. Результаты этих неоднократных выполнений затем комбинируются в форму последовательности контекстных узлов для следующего шага. Дублирующиеся узлы отбрасываются из этой комбинированной последовательности на основе идентификации узлов.

Значением выражения маршрута является комбинированная последовательность пунктов, которая является результатом финального шага в маршруте. Это значение может быть либо последовательностью узлов, либо последовательностью атомарных значений. Поскольку каждый шаг в маршруте обеспечивает контекстные узлы для следующего шага, финальный шаг в маршруте ? единственный шаг, который возвращает последовательность атомарных значений. Выражение маршрута, которое возвращает смесь узлов и атомарных значений приводит к ошибке.

Не гарантируется, что последовательность, которая получается из выражения маршрута, будет иметь определенный порядок. Чтобы понять, когда выражение маршрута возвращает упорядоченный результат, см. раздел, который описывает порядок результатов в выражениях XQuery.


НазадСодержаниеВперед
КаталогИндекс раздела