Пути доступа
Путь доступа представляет собой выражение XPath, которое используется для выбора набора узлов, относящихся к узлу контекста. Результатом оценки выражения пути доступа является набор узлов, содержащий узлы, которые указаны этим путем. В путь доступа могут рекурсивно входить выражения, используемые для фильтрации наборов узлов.
Синтаксически путь доступа состоит из одного и более шагов доступа, отделенных друг от друга косой чертой (/
):
locationstep/locationstep/locationstep
Каждый шаг доступа в порядке очереди выбирает набор узлов, относящихся к узлу контекста, т. е. к узлу, выбранному предыдущим шагом доступа. Путь доступа, выраженный подобным образом, является относительным путем доступа. Абсолютный путь доступа берет начало от корневого элемента:
/locationstep/locationstep/locationstep
Шаги доступа в пути доступа оцениваются слева направо. Крайний левый шаг доступа выбирает набор узлов, относящихся к узлу контекста. Эти узлы затем становятся узлами контекста для обработки следующего шага доступа. Обработка узлов и смена узла контекста повторяется до тех пор, пока не будут обработаны все шаги доступа.
Путь доступа может иметь как полный, так и сокращенный синтаксис.
В пути доступа с полным синтаксисом шаг доступа выглядит следующим образом:
axis::node-test[predicate]
В этом синтаксисе элемент axis
определяет, как узлы, выбранные шагом доступа, связаны с узлом контекста. Элемент node-test
определяет тип узла и развернутое имя узлов, выбранных шагом доступа. Элемент predicate
является критерием фильтра, используемым для дальнейшего уточнения выбора узлов в шаге доступа. Предикаты являются необязательными элементами. В данном случае шаг доступа состоит только из элементов axis::
и node-test
. В следующей таблице приведено несколько примеров.
Полный синтаксис пути доступа | Описание |
---|---|
|
Выбирает последний элемент |
|
Выбирает элемент |
|
Выбирает все дочерние текстовые узлы узла контекста. |
|
Выбирает дочерние элементы |
В сокращенном синтаксисе пути доступа описатель оси (axis::
) выражается в шаге доступа неявно, вместо этого он описывается набором сокращений. В следующей таблице приведено несколько примеров.
Сокращенный синтаксис пути доступа | Описание |
---|---|
|
Выбирает элементы |
|
Выбирает элемент |
|
Выбирает все дочерние текстовые узлы узла контекста. |
|
Выбирает дочерние элементы |
Ниже приводится сводка некоторых сокращений.
Полный синтаксис | Сокращенный синтаксис |
---|---|
|
|
|
|
|
|
|
|
|
|
В этом разделе
В следующих подразделах подробно обсуждается синтаксис и использование фрагментов путей доступа.