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