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
Os exemplos seguintes mostram como as funções booleanas são especificadas nas consultas XPath. As consultas XPath nestes exemplos são especificadas 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 a função booleana not()
Esta consulta devolve todos os <elementos filho do Cliente> do nó de contexto que não têm <elementos filhos de Ordem> :
/child::Customer[not(child::Order)]
O eixo filho é o padrão. Portanto, a consulta pode ser especificada como:
/Customer[not(Order)]
Para testar a consulta 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 (BooleanFunctionsA.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[not(Order)] </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 parcial 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="32" SalesPersonID="289" TerritoryID="8" AccountNumber="32" CustomerType="S" />
<Customer CustomerID="35" SalesPersonID="275" TerritoryID="2" AccountNumber="35" CustomerType="S" />
...
</ROOT>
B. Especifique as funções booleanas true() e false()
Esta consulta devolve todos os <filhos de elementos Cliente> do nó de contexto que não têm <elementos filhos de Ordem> . Em termos relacionais, esta consulta devolve todos os clientes que não fizeram qualquer encomenda.
/child::Customer[child::Order=false()]
O eixo filho é o padrão. Portanto, a consulta pode ser especificada como:
/Customer[Order=false()]
Esta consulta é equivalente ao seguinte:
/Customer[not(Order)]
A consulta seguinte devolve todos os clientes que fizeram pelo menos uma encomenda:
/Customer[Order=true()]
Esta consulta é equivalente a esta:
/Customer[Order]
Para testar a consulta 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 (BooleanFunctionsB.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[Order=false()] </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 parcial 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="32" SalesPersonID="289" TerritoryID="8" AccountNumber="32" CustomerType="S" />
<Customer CustomerID="35" SalesPersonID="275" TerritoryID="2" AccountNumber="35" CustomerType="S" />
...
</ROOT>