Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:programu SQL Server
Azure SQL Database
Test węzła określa typ węzła wybrany przez etap lokalizacji. Każda oś (dziecko, rodzic, atrybut lub ja) ma główny typ węzła. Dla osi atrybutu głównym typem <węzła jest atrybut.> Dla osi rodzica, potomka i własności głównym typem <węzła jest element>.
Uwaga / Notatka
Test węzła dzikiego * (na przykład child::*) nie jest obsługiwany.
Test węzłów: Przykład 1
Ścieżka child::Customer lokalizacyjna wybiera <dzieci elementów klienta> węzła kontekstowego.
W tym przykładzie jest osią, child a Customer jest testem węzła. Głównym typem węzła dla osi<potomnej jest element>. Dlatego test węzła jest PRAWDZIWY, jeśli <węzeł klienta> jest węzłem elementu<>. Jeśli węzeł kontekstowy nie <ma dzieci klientów> , zwracany jest pusty zbiór węzłów.
Test węzłów: Przykład 2
Ścieżka attribute::CustomerID lokalizacji wybiera atrybut CustomerID węzła kontekstowego.
W przykładzie jest osią, attribute a CustomerID jest testem węzłowym. Głównym typem węzła osi <atrybutu jest atrybut.> Dlatego test węzła jest PRAWDZIWY, jeśli CustomerID jest węzłem atrybutów<>. Jeśli węzeł kontekstowy nie ma CustomerID, zwracany jest pusty zbiór węzłów.
Uwaga / Notatka
W tej implementacji XPath, jeśli krok lokalizacji odnosi się do elementu<> lub <typu atrybutu>, który nie został zadeklarowany w schemie, generowany jest błąd. Różni się to od implementacji XPath w MSXML, która zwraca pusty zestaw węzłów.
Skrócona składnia osi
Obsługiwana jest następująca skrócona składnia ścieżki lokalizacji:
attribute::można skrócić do@.Ścieżka
Customer[@CustomerID="ALFKI"]lokalizacji jest taka sama jakchild::Customer[attribute::CustomerID="ALFKI"].child::można pominąć w etapie lokalizacji.W związku z tym oś domyślną jest dziecko . Ścieżka
Customer/Orderlokalizacji jest taka sama jakchild::Customer/child::Order.self::node()można skrócić do jednej kropki (.), aparent::node()do dwóch krotek (..).