Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O exemplo a seguir mostra como os operadores boolianos são especificados em consultas XPath. A consulta XPath neste exemplo é especificada em relação ao esquema de mapeamento contido em SampleSchema1.xml. Para obter informações sobre esse esquema de exemplo, consulte Exemplo de esquema XSD anotado para exemplos XPath (SQLXML 4.0).
Exemplos
Um. Especificar o operador OR Boolean
Esta consulta XPath retorna os <filhos do elemento Cliente> do nó de contexto com o valor do atributo CustomerID de 13 ou 31:
/child::Customer[attribute::CustomerID="13" or attribute::CustomerID="31"]
Um atalho para o attribute eixo (@) pode ser especificado e, como o child eixo é o padrão, ele pode ser omitido:
/Customer[@CustomerID="13" or @CustomerID="31"]
No predicado, attribute é o eixo e CustomerID é o teste de nó (TRUE se CustomerID for um <nó de atributo> , porque o nó de <atributo> é o nó primário para o attribute eixo). O predicado filtra os elementos do< Cliente> e retorna somente aqueles que atendem à condição especificada no predicado.
Para testar as consultas XPath no esquema de mapeamento
Copie o código de esquema de exemplo e cole-o em um arquivo de texto. Salve o arquivo como SampleSchema1.xml.
Crie o modelo a seguir (BooleanOperatorsA.xml) e salve-o no diretório em que SampleSchema1.xml é salvo.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Customer[@CustomerID="13" or @CustomerID="31"] </sql:xpath-query> </ROOT>O caminho do diretório especificado para o esquema de mapeamento (SampleSchema1.xml) é relativo ao diretório em que o modelo é salvo. Também é possível especificar um caminho absoluto, por exemplo:
mapping-schema="C:\MyDir\SampleSchema1.xml"Crie e use o script de teste SQLXML 4.0 (Sqlxml4test.vbs) para executar o modelo.
Para obter mais informações, consulte Usar o ADO para executar consultas SQLXML 4.0.
Aqui está o conjunto de resultados da execução do modelo:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Customer CustomerID="13" SalesPersonID="286" TerritoryID="7" AccountNumber="13" CustomerType="S" />
<Customer CustomerID="31" SalesPersonID="286" TerritoryID="7" AccountNumber="31" CustomerType="S" Orders="Ord-51803 Ord-69427">
<Order SalesOrderID="Ord-51803" SalesPersonID="286" OrderDate="2003-08-01T00:00:00" DueDate="2003-08-13T00:00:00" ShipDate="2003-08-08T00:00:00">
<OrderDetail ProductID="Prod-718" UnitPrice="1059.31" OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-838" UnitPrice="1059.31" OrderQty="1" UnitPriceDiscount="0" />
</Order>
<Order SalesOrderID="Ord-69427" SalesPersonID="286" OrderDate="2004-05-01T00:00:00" DueDate="2004-05-13T00:00:00" ShipDate="2004-05-08T00:00:00">
<OrderDetail ProductID="Prod-835" UnitPrice="440.1742" OrderQty="1" UnitPriceDiscount="0" />
</Order>
</Customer>
</ROOT>