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
Poniższe przykłady pokazują, jak jawne funkcje konwersji są określane w zapytaniach XPath. Zapytania XPath w tych przykładach są określone względem schematu odwzorowania zawartego w SampleSchema1.xml. Aby uzyskać informacje o tym przykładowym schemacie, zobacz Przykładowy annotowany schemat XSD dla przykładów XPath (SQLXML 4.0).
Przykłady
A. Użyj funkcji konwersji liczby() w sposób jawny
Funkcja number() przekształca argument w liczbę.
Zakładając, że wartość ContactID jest nienumeryczna, następujące zapytanie konwertuje ContactID na liczbę i porównuje ją z wartością 4. Zapytanie następnie zwraca wszystkie <dzieci elementów Employee> węzła kontekstowego z atrybutem ContactID , który ma wartość liczbową 4:
/child::Contact[number(attribute::ContactID)= 4]
Można określić skrót do osi atrybutu (@), a ponieważ oś potomna jest domyślna, można ją pominąć w zapytaniu:
/Contact[number(@ContactID) = 4]
W kategoriach relacyjnych zapytanie zwraca pracownika z ContactID 4.
Aby przetestować zapytanie XPath względem schematu mapowania
Skopiuj przykładowy kod schematu i wklej go do pliku tekstowego. Zapisz plik jako SampleSchema1.xml.
Stwórz następujący szablon (ExplicitConversionA.xml) i zapisz go w katalogu, w którym SampleSchema1.xml został zapisany.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Contact[number(@ContactID)=4] </sql:xpath-query> </ROOT>Ścieżka katalogu określona dla schematu mapowania (SampleSchema1.xml) jest względna względem katalogu, w którym zapisany jest szablon. Można również określić ścieżkę bezwzględną, na przykład:
mapping-schema="C:\MyDir\SampleSchema1.xml"Utworzenie i użycie testowego skryptu SQLXML 4.0 (Sqlxml4test.vbs) do wykonania szablonu.
Aby uzyskać więcej informacji, zobacz Using ADO to Execute SQLXML 4.0 Queries (Używanie narzędzia ADO do wykonywania zapytań SQLXML 4.0).
Zestaw wyników dla wykonania tego szablonu to:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Contact ContactID="4" LastName="Acevedo" FirstName="Humberto" Title="Sr." />
</ROOT>
B. Użyj funkcji konwersji typu string()
Funkcja string() konwertuje argument na ciąg rzeczy.
Następujące zapytanie konwertuje ContactID na ciąg i porównuje go z wartością ciągu "4". Zapytanie zwraca wszystkie <dzieci elementów Employee> węzła kontekstowego z identyfikatorem ContactID o wartości ciągu "4":
/child::Contact[string(attribute::ContactID)="4"]
Można określić skrót do osi atrybutu (@), a ponieważ oś potomna jest domyślna, można ją pominąć w zapytaniu:
/Contact[string(@ContactID)="4"]
Funkcjonalnie to zapytanie zwraca te same wyniki co poprzednie przykładowe zapytanie, jednak ocena jest przeprowadzana na podstawie wartości ciągu znaków, a nie wartości liczbowej (czyli liczby 4).
Aby przetestować zapytanie XPath względem schematu mapowania
Skopiuj przykładowy kod schematu i wklej go do pliku tekstowego. Zapisz plik jako SampleSchema1.xml.
Stwórz następujący szablon (ExplicitConversionB.xml) i zapisz go w katalogu, w którym SampleSchema1.xml został zapisany.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> Contact[string(@ContactID)="4"] </sql:xpath-query> </ROOT>Ścieżka katalogu określona dla schematu mapowania (SampleSchema1.xml) jest względna względem katalogu, w którym zapisany jest szablon. Można również określić ścieżkę bezwzględną, na przykład:
mapping-schema="C:\MyDir\SampleSchema1.xml"Utworzenie i użycie testowego skryptu SQLXML 4.0 (Sqlxml4test.vbs) do wykonania szablonu.
Aby uzyskać więcej informacji, zobacz Using ADO to Execute SQLXML 4.0 Queries (Używanie narzędzia ADO do wykonywania zapytań SQLXML 4.0).
Oto zestaw wyników wykonania szablonu:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Contact ContactID="4" LastName="Acevedo" FirstName="Humberto" Title="Sr." />
</ROOT>