Wyrażenie ścieżka (XQuery)
Wyrażenia ścieżka XQuery zlokalizuj węzłów, na przykład element, atrybut i tekst węzłów, w dokumencie.Wynik wyrażenie ścieżka, który jest zawsze występuje w kolejności dokumentu bez węzłów duplikatów w sekwencji wynik.Określając ścieżka, można użyć składni nieskróconą albo skróconej.Następujące informacje koncentruje się na nieskróconą składni.Skróconej składni jest opisany w dalszej części tego tematu.
Uwaga
Ponieważ przykładowe kwerendy, w tym temacie są określane względem XML kolumny typu CatalogDescription and Instrukcje, in the ProductModel tabela, użytkownik powinien zapoznać się z zawartości i struktury dokumentów XML, znajdujących się w tych kolumnach.Aby uzyskać więcej informacji zobaczxml Data Type Representation in the AdventureWorks Database.
Wyrażenie ścieżka może być względną lub bezwzględną.Opis obu z nich jest następujący:
Wyrażenie ścieżka względnej składa się z jednego lub kilku kroków oddzielone co najmniej dwóch znaków kreski ułamkowej (/ lub / /).Na przykład child::Features to wyrażenie ścieżka względnej, gdzie Child odnosi się tylko do węzłów podrzędność węzła kontekstu. To jest węzeł, który jest aktualnie przetwarzane.Pobiera wyrażenie <Funkcje> element węzła elementy podrzędne węzła kontekstu.
Wyrażenie ścieżka bezwzględnej rozpoczyna się jeden lub dwa znaki ukośnika (/ lub / /), a następnie ścieżka opcjonalnie, względną.Na przykład wstępnego ukośna znak w wyrażeniu /child::ProductDescription, oznacza, że jest on wyrażenie ścieżka bezwzględnej. Ponieważ kreska ułamkowa na początku wyrażenia zwraca węzła głównego dokumentu węzła kontekstu, wyrażenie zwraca wszystkie <ProductDescription> elementy podrzędne elementu węzła głównego dokumentu.
Jeśli ścieżka bezwzględna zaczyna się od jednej kreska ułamkowa, może lub nie może być stosowana przez ścieżkę względną.Jeśli określisz tylko pojedyncze kreska ułamkowa wyrażenie zwraca węzeł główny węzeł kontekstu.Typem danych XML jest to jego węzeł dokumentu.
Wyrażenie typowe ścieżka składa się z kroków.Na przykład, wyrażenie ścieżka bezwzględnej /child::ProductDescription/child::Summary,zawiera dwa kroki oddzielone znakiem kreski ułamkowej.
Pierwszym krokiem pobiera <ProductDescription> elementy podrzędne elementu węzła głównego dokumentu.
Drugim krokiem pobiera <Podsumowanie> elementy podrzędne węzła element dla każdego pobrane <ProductDescription> węzeł elementu, który z kolei staje się węzeł kontekstu.
A krok w ścieżka wyrażenie może być to krok oś lub ogólne kroku.
Krok oś
oś krok w ścieżka wyrażenie zawiera następujące części.
oś
Określa kierunek ruchu.Oś krok w ścieżka wyrażenie, które zaczyna się od węzła kontekstu i przechodzi do tych węzłów, które są osiągalne w kierunku określonego przez oś.test węzła
Określa typ węzła lub nazwy węzłów, które mają być wybrane.Zero lub więcej predykatów opcjonalne
Filtruje węzłów przez zaznaczenie niektórych i odrzucanie innym użytkownikom.
The following examples use an axisstep in the path expressions:
Wyrażenie ścieżka bezwzględnej /child::ProductDescription, zawiera tylko jeden krok. Określa ona (oś)child) i węzeł przetestować ()ProductDescription).
Wyrażenie ścieżka względnej child::ProductDescription/child::Features, zawiera dwa kroki oddzielone znakiem kreski ułamkowej. Obie czynności należy określić oś podrzędność.ProductDescription i funkcje są testy węzła.
Wyrażenie ścieżka względnej child::root/child::Location[attribute::LocationID=10],zawiera dwa kroki oddzielone znakiem kreski ułamkowej. Pierwszym krokiem określa (oś)child) i węzeł przetestować ()root). Drugim krokiem określa wszystkie trzy składniki to krok oś: oś (podrzędność), test węzła (Location) i predykatu ([attribute::LocationID=10]).
Aby uzyskać więcej informacji na temat składników to krok oś zobacz Określanie oś w kroku wyrażenie ścieżka, Określanie test węzła w kroku wyrażenie ścieżka, a Określanie predykatów na etapie wyrażenie ścieżka.
Krok ogólne
Ogólne krokiem jest po prostu wyrażenie, które powinny być sekwencja węzłów.
Implementacja XQuery w programie SQL Server obsługuje jako pierwszy krok w kroku ogólne ścieżka wyrażenia.Poniżej podano przykłady wyrażeń ścieżka, wykorzystujących ogólne kroki.
(/a, /b)/c
id(/a/b)
Aby uzyskać więcej informacji na temat Zobacz funkcja id Identyfikator funkcja (XQuery).
W tej sekcji
Określanie oś w kroku wyrażenie ścieżka
W tym artykule opisano pracę z kroku oś ścieżka wyrażenia.Określanie test węzła w kroku wyrażenie ścieżka
Zawiera opis pracy z testów węzła ścieżka wyrażenia.Określanie predykatów na etapie wyrażenie ścieżka
W tym artykule opisano pracę z predykaty w ścieżka wyrażenia.Przy użyciu skróconej składni w wyrażeniu ścieżka
W tym artykule opisano pracę z skróconej składni ścieżka wyrażenie.