Określanie jawne funkcje konwersji w kwerendach XPath (SQLXML 4.0)
Następujące przykłady przedstawiają sposób jawna konwersja funkcje są określone w kwerendach XPath.Kwerendy XPath w tych przykładach określone względem schematu mapowania zawartych w SampleSchema1.xml.Aby uzyskać informacje na temat tego schematu przykładowych zobacz Przykładowe odnotowany schematu XSD dla przykłady XPath (SQLXML 4.0).
Przykłady
A.Za pomocą funkcja konwersja jawna number()
The number() funkcja converts an argument to a number.
Zakładając, że wartość ContactID jest wartością numeryczną, poniższa kwerenda konwertuje ContactID na liczbę i porównuje ją z wartość 4.Następnie zwraca wszystkie <Pracownika> elementy podrzędne elementu Węzeł kontekstu z ContactID atrybut, który ma wartość liczbową 4:
/child::Contact[number(attribute::ContactID)= 4]
Skrót do attribute można określić osi (@), a ponieważ child oś jest ustawieniem domyślnym, można pominąć z kwerendy:
/Contact[number(@ContactID) = 4]
Względem relacyjnej, kwerenda zwraca pracownika z ContactID of 4.
Aby przetestować kwerendę XPath schematem mapowania
Kopia Przykładowy kod schematu i wkleić go do pliku tekstowego.Zapisz plik jako SampleSchema1.xml.
Utwórz następujący szablon (ExplicitConversionA.xml) i zapisz go w katalogu, w którym zapisano SampleSchema1.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Contact[number(@ContactID)=4] </sql:xpath-query> </ROOT>To ścieżka do katalogu określonego dla mapowania schematu (SampleSchema1.xml) jest względna w stosunku do katalogu, w którym są zapisywane w szablonie.Ścieżka bezwzględna również można określić, na przykład:
mapping-schema="C:\MyDir\SampleSchema1.xml"Tworzenie i używanie skryptu testu 4.0 SQLXML (Sqlxml4test.vbs) do wykonać tego szablonu.
Aby uzyskać więcej informacji zobaczPrzy użyciu obiektu ADO do wykonywania SQLXML bada 4.0.
Wynik dla wykonania tego szablonu jest:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Contact ContactID="4" LastName="Acevedo" FirstName="Humberto" Title="Sr." />
</ROOT>
B.Za pomocą funkcja konwersja jawna ciąg()
The string() funkcja converts an argument to a ciąg.
Konwertuje następującą kwerendę ContactID na ciąg znaków i porównuje ją z wartością ciągu "4".Kwerenda zwraca wszystkie <Pracownika> elementy podrzędne elementu Węzeł kontekstu z ContactID o wartości ciąg "4":
/child::Contact[string(attribute::ContactID)="4"]
Skrót do attribute można określić osi (@), a ponieważ child oś jest ustawieniem domyślnym, można pominąć z kwerendy:
/Contact[string(@ContactID)="4"]
Funkcjonalnie ta kwerenda zwraca te same wyniki, co poprzedni przykład kwerendy, chociaż oceny jest wykonywane przed ciąg znaków, a nie wartość liczbową (czyli numer 4).
Aby przetestować kwerendę XPath schematem mapowania
Kopia Przykładowy kod schematu i wkleić go do pliku tekstowego.Zapisz plik jako SampleSchema1.xml.
Utwórz następujący szablon (ExplicitConversionB.xml) i zapisz go w katalogu, w którym zapisano SampleSchema1.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> Contact[string(@ContactID)="4"] </sql:xpath-query> </ROOT>To ścieżka do katalogu określonego dla mapowania schematu (SampleSchema1.xml) jest względna w stosunku do katalogu, w którym są zapisywane w szablonie.Ścieżka bezwzględna również można określić, na przykład:
mapping-schema="C:\MyDir\SampleSchema1.xml"Tworzenie i używanie skryptu testu 4.0 SQLXML (Sqlxml4test.vbs) do wykonać tego szablonu.
Aby uzyskać więcej informacji zobaczPrzy użyciu obiektu ADO do wykonywania SQLXML bada 4.0.
W tym polu jest zestaw wyników wykonania szablonu:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Contact ContactID="4" LastName="Acevedo" FirstName="Humberto" Title="Sr." />
</ROOT>