Compartir a través de


Especificar operadores aritméticos en consultas XPath (SQLXML 4.0)

Se aplica a: SQL Server Azure SQL Database

En el ejemplo siguiente se muestra cómo se especifican los operadores aritméticos en consultas XPath. La consulta XPath de este ejemplo se especifica en el esquema de asignación que se incluye en SampleSchema1.xml. Para obtener información sobre este esquema de ejemplo, vea Ejemplo de esquema XSD anotado para ejemplos de XPath (SQLXML 4.0).

Ejemplos

A Especificar el operador aritmético *

Esta consulta XPath devuelve <elementos OrderDetail> que satisfacen el predicado especificado:

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

En la consulta, child es el eje y OrderDetail es la prueba de nodo (TRUE si OrderDetail es un <nodo de elemento, porque el< nodo> de elemento> es el nodo principal del eje secundario). Para todos los <nodos del elemento OrderDetail> , se aplica la prueba en el predicado y solo se devuelven los nodos que cumplen la condición.

Nota:

Los números en XPath son números de punto flotante de precisión doble y la comparación de números de punto flotante, como los del ejemplo, hace que éstos se redondeen.

Para probar la consulta XPath en el esquema de asignación
  1. Copie el código de esquema de ejemplo y péguelo en un archivo de texto. Guarde el archivo como SampleSchema1.xml.

  2. Cree la siguiente plantilla (ArithmeticOperatorA.xml) y guárdela en el directorio donde haya guardado el archivo 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>  
    

    La ruta de acceso al directorio especificada para el esquema de asignación (SampleSchema1.xml) es relativa al directorio donde se guarda la plantilla. También puede especificarse una ruta de acceso absoluta como, por ejemplo:

    mapping-schema="C:\MyDir\SampleSchema1.xml"  
    
  3. Cree y use el script de prueba SQLXML 4.0 (Sqlxml4test.vbs) para ejecutar la plantilla.

    Para obtener más información, consulte Uso de ADO para ejecutar consultas 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>