направляемый осью поиска
Шаг, направляемый осью поиска, состоит из трех частей: оси поиска, теста узла и необязательного предиката. Ось отделяется от теста узла двумя двоеточиями, а предикат записывается после теста узла в квадратных скобках:
ось: текст узла [предикат].
Например, шаг поиска может выглядеть так:
child::section[l]
В этом примере ось поиска child показывает, что поиск охватывает все узлы, непосредственно вложенные в просматриваемый узел, за исключением узлов-атрибутов и узлов пространств имен, текст узла section выбирает из этих узлов узлы-элементы section, а предикат 1 выбирает первый из встреченных узлов-элементов section.
Каждая из трех частей шага поиска сужает первоначальную область поиска.
Ось поиска задает направление поиска, отсчитываемое от текущего узла, и его объем. Например, поиск может идти в сторону вложенных элементов или, наоборот, просматривать родительские узлы. Можно просматривать только атрибуты элементов или только соседние элементы.
Текст узла выбирает в области поиска, заданной осью, определенные узлы по их имени или типу.
Предикат содержит условия, по которым проверяет узлы, уже отобранные осью поиска и тестом узла, и делает окончательный выбор.