Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения: SQL Server База данных SQL Azure
Проверка узла задает тип узла, выбранного на шаге доступа. Каждая ось (дочерний, родительский, атрибут или self) имеет тип основного узла. Для оси атрибута тип основного узла является >. Для родительских, дочерних и самостоятельных осей основной узел является <элементом>.
Примечание.
Шаблон проверки узла * (например child::*) не поддерживается.
Тест узла: пример 1
Путь child::Customer расположения выбирает <дочерние элементы Customer> узла контекста.
В следующем примере элемент child является осью, а Customer является проверкой узла. Основной тип узла для дочерней оси является<>. Поэтому тест узла имеет значение TRUE, если > является>. Если у узла контекста нет <дочерних элементов customer> , возвращается пустой набор узлов.
Тест узла: пример 2
Путь attribute::CustomerID к расположению выбирает атрибут CustomerID узла контекста.
В этом примере элемент attribute является осью, а CustomerID является проверкой узла. Основной тип узла оси атрибута — <атрибут>. Поэтому тест узла имеет значение TRUE, если CustomerID является <узлом атрибута> . Если у узла контекста нет CustomerID, возвращается пустой набор узлов.
Примечание.
В этой реализации XPath, если шаг расположения ссылается на > или <тип атрибута>, который не объявлен в схеме, создается ошибка. Это отличается от реализации XPath в MSXML, где возвращается пустое множество узлов.
Сокращенный синтаксис осей
Поддерживается следующий сокращенный синтаксис пути доступа.
attribute::можно сократить до@.Путь доступа
Customer[@CustomerID="ALFKI"]аналогичен выражениюchild::Customer[attribute::CustomerID="ALFKI"].child::можно исключить из шага определения расположения данных.Таким образом, дочерний элемент является осью по умолчанию. Путь доступа
Customer/Orderаналогичен выражениюchild::Customer/child::Order.self::node()можно сократить до одной точки (.), аparent::node()можно сократить до двух точек (..).