Partager via


Spécification d’opérateurs arithmétiques dans les requêtes XPath (SQLXML 4.0)

L’exemple suivant montre comment les opérateurs arithmétiques sont spécifiés dans les requêtes XPath. La requête XPath de cet exemple est spécifiée par rapport au schéma de mappage contenu dans SampleSchema1.xml. Pour plus d’informations sur cet exemple de schéma, consultez Exemple de schéma XSD annoté pour les exemples XPath (SQLXML 4.0).

Exemples

Un. Spécifier l’opérateur arithmétique *

Cette requête XPath retourne <des éléments OrderDetail> qui répondent au prédicat spécifié :

/child::OrderDetail[@UnitPrice * @Quantity = 12.350]  

Dans la requête, child est l’axe et OrderDetail est le test de nœud (TRUE si OrderDetail est un nœud> d’élément<, car le <nœud d’élément> est le nœud principal de l’axechild). Pour tous les <nœuds d’élément OrderDetail> , le test dans le prédicat est appliqué, et seuls les nœuds qui répondent à la condition sont retournés.

Remarque

Les nombres dans XPath sont des nombres à virgule flottante double précision et comparent les nombres à virgule flottante comme dans l’exemple provoque l’arrondi.

Pour tester la requête XPath sur le schéma de mappage
  1. Copiez l’exemple de code de schéma et collez-le dans un fichier texte. Enregistrez le fichier en tant que SampleSchema1.xml.

  2. Créez le modèle suivant (ArithmeticOperatorA.xml) et enregistrez-le dans le répertoire où SampleSchema1.xml est enregistré.

    <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>  
    

    Le chemin d’accès au répertoire spécifié pour le schéma de mappage (SampleSchema1.xml) est relatif au répertoire dans lequel le modèle est enregistré. Vous pouvez également spécifier un chemin d'accès absolu, par exemple :

    mapping-schema="C:\MyDir\SampleSchema1.xml"  
    
  3. Créez et utilisez le script de test SQLXML 4.0 (Sqlxml4test.vbs) pour exécuter le modèle.

    Pour plus d'informations, voir Utilisation d'ADO pour exécuter des requêtes 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>