Partilhar via


Especificação de Operadores Aritméticos em Consultas XPath (SQLXML 4.0)

Aplica-se a:SQL ServerBanco de Dados SQL do Azure

O exemplo seguinte mostra como os operadores aritméticos são especificados nas consultas XPath. A consulta XPath neste exemplo é especificada contra o esquema de mapeamento contido em SampleSchema1.xml. Para informações sobre este esquema de exemplo, consulte Esquema XSD Anotado de Exemplo para Exemplos XPath (SQLXML 4.0).

Examples

A. Especificar o operador aritmético *

Esta consulta XPath devolve <elementos OrderDetail> que satisfazem o predicado especificado:

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

Na consulta, child é o eixo e OrderDetail é o teste do nó (TRUE se o OrderDetail for um <nó> elemento, porque o <nó elemento> é o nó primário para o eixo filho). Para todos os <nós do elemento OrderDetail> , aplica-se o teste no predicado, e apenas os nós que satisfazem a condição são devolvidos.

Observação

Os números no XPath são números de ponto flutuante de dupla precisão, e comparar números de ponto flutuante como no exemplo provoca arredondamento.

Para testar a consulta XPath contra o esquema de mapeamento
  1. Copie o código de esquema de exemplo e cole-o num ficheiro de texto. Guarde o ficheiro como SampleSchema1.xml.

  2. Crie o seguinte modelo (ArithmeticOperatorA.xml) e guarde-o no diretório onde SampleSchema1.xml está guardado.

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

    O caminho do diretório especificado para o esquema de mapeamento (SampleSchema1.xml) é relativo ao diretório onde o modelo é guardado. Um caminho absoluto também pode ser especificado, por exemplo:

    mapping-schema="C:\MyDir\SampleSchema1.xml"  
    
  3. Crie e use o Script de Teste SQLXML 4.0 (Sqlxml4test.vbs) para executar o modelo.

    Para obter mais informações, consulte Usando o ADO para executar 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>