Specifica di operatori aritmetici nelle query XPath (SQLXML 4.0)
Negli esempi seguenti viene illustrato come specificare operatori aritmetici in query XPath. Le query XPath di questi esempi vengono specificate sullo schema di mapping contenuto in SampleSchema1.xml. Per informazioni su questo schema di esempio, vedere Schema XSD con annotazioni di esempio per gli esempi XPath (SQLXML 4.0).
Esempi
A. Specificare l'operatore aritmetico *
Questa query XPath restituisce gli elementi <OrderDetail> che soddisfanno il predicato specificato:
/child::OrderDetail[@UnitPrice * @Quantity = 12.350]
Nella query, child è l'asse e OrderDetail è il test di nodo (TRUE se OrderDetail è un nodo <element>, poiché il nodo <element> è il nodo primario per l'asse child). Per tutti i nodi dell'elemento <OrderDetail> viene applicato il test nel predicato e vengono restituiti solo i nodi che soddisfanno la condizione.
Nota
I numeri in XPath sono numeri a virgola mobile a precisione doppia e il confronto di numeri a virgola mobile come nell'esempio causa un arrotondamento.
Per testare la query Xpath sullo schema di mapping
Copiare il codice dello schema di esempio e incollarlo in un file di testo. Salvare il file con il nome SampleSchema1.xml.
Creare il modello ArithmeticOperatorA.xml seguente e salvarlo nella directory in cui viene salvato il file 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>
Il percorso di directory specificato per lo schema di mapping (SampleSchema1.xml) è relativo alla directory in cui è salvato il modello. È possibile specificare anche un percorso assoluto, ad esempio:
mapping-schema="C:\MyDir\SampleSchema1.xml"
Creare e utilizzare lo script di test SQLXML 4.0 (Sqlxml4test.vbs) per eseguire il modello.
Per ulteriori informazioni, vedere Utilizzo di ADO per eseguire query SQLXML 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>