Określanie operatory arytmetyczne w kwerendach XPath (SQLXML 4.0)
W poniższym przykładzie pokazano operatory arytmetyczne w jaki sposób są określone w kwerendach XPath.Kwerendy XPath w tym przykładzie jest określana 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.Określ * operator arytmetyczny
Ta kwerenda wyrażenie XPath zwraca <OrderDetail> elementy, które spełniają predykat, określona:
/child::OrderDetail[@UnitPrice * @Quantity = 12.350]
W kwerendzie child jest na osi i OrderDetail test węzła (PRAWDA, jeśli jest OrderDetail is an <węzeł elementu>, ponieważ <element> węzeł jest węzeł główny child oś). Dla wszystkich <OrderDetail> element węzłów, test w predykacie jest stosowany i zwracane są tylko tych węzłów, które spełniają warunek.
Uwaga
Liczby w języku XPath są liczby zmiennoprzecinkowe podwójnej precyzji, a porównanie liczby zmiennoprzecinkowe, jak w przykładzie powoduje zaokrąglanie.
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 (ArithmeticOperatorA.xml) i zapisz go w katalogu, w którym zostanie zapisana SampleSchema1.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /OrderDetail[@UnitPrice * @OrderQty = 12.350] </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.
Here is the partial result set of the template execution:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<OrderDetail ProductID="Prod-709" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-709" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-709" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-709" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-709" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-709" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-709" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-710" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />
...
</ROOT>