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.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
O exemplo seguinte mostra como os operadores booleanos 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 booleano OR
Esta consulta XPath devolve 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"]
Pode ser especificado um atalho para o eixo do atributo (@) e, como o eixo filho é o predefinido, pode ser omitido:
/Customer[@CustomerID="13" or @CustomerID="31"]
No predicado, attribute é o eixo e CustomerID é o teste do nó (TRUE se o CustomerID for um <nó de atributo>, porque o <nó de> atributo é o nó primário para o eixo do atributo). O predicado filtra os <elementos Cliente> e devolve apenas aqueles que satisfazem a condição especificada no predicado.
Para testar as consultas XPath contra o esquema de mapeamento
Copie o código de esquema de exemplo e cole-o num ficheiro de texto. Guarde o ficheiro como SampleSchema1.xml.
Crie o seguinte modelo (BooleanOperatorsA.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"> /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 onde o modelo é guardado. Um caminho absoluto também pode ser especificado, 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 Usando 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>