Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server
Выражения пути XQuery определяют местонахождение узлов, например элементов, атрибутов и текстовых узлов, в документе. Результат выражения пути всегда возвращается согласно порядку расположения узлов в документе, и узлы в результирующей последовательности не дублируются. Указывая путь, можно использовать полный или сокращенный синтаксис. Далее рассматривается полный синтаксис. Сокращенный синтаксис описывается ниже в этом разделе.
Примечание.
Так как примеры запросов в этом разделе указываются для столбцов типа XML , CatalogDescription и Instructions, в таблице ProductModel необходимо ознакомиться с содержимым и структурой XML-документов, хранящихся в этих столбцах.
Путь в выражении может быть относительным или абсолютным. Ниже приведено описание обоих типов.
Выражение относительного пути составляется из одного или более шагов, разделенных одним или двумя знаками косой черты (/ или //). Например
child::Features— выражение относительного пути, гдеChildотносится только к дочерним узлам текущего узла. Текущим называется узел, обрабатываемый в данный момент. Выражение извлекает дочерние <элементы элемента Features> для узла контекста.Выражение абсолютного пути начинается с одного или двух знаков косой черты (/ или //), за которыми следует необязательный относительный путь. Например, знак косой черты в начале выражения
/child::ProductDescriptionозначает, что это выражение абсолютного пути. Так как знак косой черты в начале выражения возвращает корневой узел документа узла контекста, выражение возвращает все <дочерние элементы элемента ProductDescription> корневого каталога документа.Если абсолютный путь начинается с одного знака косой черты, за ним может следовать относительный путь, а может и не следовать. Если выражение содержит только один знак косой черты, возвращается корневой узел для текущего узла. В типе данных XML это узел документа.
Типичное выражение пути состоит из шагов. Например, абсолютное выражение пути содержит два шага, /child::ProductDescription/child::Summaryразделенных косой чертой.
Первый шаг извлекает дочерние <элементы элемента ProductDescription> корневого каталога документа.
Второй шаг извлекает дочерние <узлы элемента Summary> для каждого полученного <узла элемента ProductDescription> , который, в свою очередь, становится узлом контекста.
Шаг в выражении пути может быть шагом оси или основным шагом.
Шаг оси
Шаг оси в выражении пути включает в себя следующие компоненты.
ось
Определяет направление движения. Шаг оси в выражении пути, начинающегося с текущего узла и ведущего к узлам, доступным в направлении, указанным осью.
Тест узла
Задает тип или имена узлов, которые будут выбраны.
Ноль или более необязательных предикатов
Фильтруют узлы, выбирая одни и пропуская другие.
В следующих примерах используется ось в выражениях пути:
Выражение абсолютного пути
/child::ProductDescriptionсодержит только один шаг. Оно определяет ось (child) и проверку узла (ProductDescription).Выражение относительного пути
child::ProductDescription/child::Featuresсодержит два шага, разделенных косой чертой. Оба шага задают ось — дочерние элементы. ProductDescription и Features — проверки узлов.Выражение относительного пути содержит два шага,
child::root/child::Location[attribute::LocationID=10]разделенных косой чертой. Первый шаг определяет ось (child) и проверку узла (root). Второй шаг содержит все три компонента шага оси: ось (child), проверку узлов (Location) и предикат ([attribute::LocationID=10]).
Дополнительные сведения о компонентах шага оси см. в разделе "Указание оси" в шаге выражения пути, указание теста узла в шаге выражения пути и указание предикатов в шаге выражения пути.
Основной шаг
Основной шаг представляет собой обычное выражение, значением которого должна быть последовательность узлов.
Реализация XQuery в SQL Server допускает основные шаги в первых шагах выражений пути. Далее приведены примеры выражений пути с использованием основных шагов.
(/a, /b)/c
id(/a/b)
Дополнительные сведения о функции идентификатора см. в разделе "Функция идентификатора" (XQuery).
В этом разделе
Указание оси на шаге выражения пути
Описывает работу с шагом оси в выражениях пути.
Указание теста узла на шаге выражения пути
Описывает работу с проверкой узлов в выражениях пути.
Указание предикатов на шаге выражения пути
Описывает работу с предикатами в выражениях пути.
Использование сокращенного синтаксиса в выражении пути
Описывает использование сокращенного синтаксиса в выражениях пути.