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 de conversão explícitas 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. Usar a função de conversão explícita number()
A função number() converte um argumento num número.
Assumindo que o valor de ContactID é não numérico, a consulta seguinte converte ContactID num número e compara-o com o valor 4. A consulta devolve então todos <os filhos de elementos Employee> do nó de contexto com o atributo ContactID que tem um valor numérico de 4:
/child::Contact[number(attribute::ContactID)= 4]
Pode ser especificado um atalho para o eixo do atributo (@) e, como o eixo filho é o predefinido, pode ser omitido da consulta:
/Contact[number(@ContactID) = 4]
Em termos relacionais, a consulta devolve um colaborador com um ContactID de 4.
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 (ExplicitConversionA.xml) e guarde-o no diretório onde SampleSchema1.xml foi guardado.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Contact[number(@ContactID)=4] </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.
O conjunto de resultados para a execução deste modelo é:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Contact ContactID="4" LastName="Acevedo" FirstName="Humberto" Title="Sr." />
</ROOT>
B. Use a função de conversão explícita string()
A função string() converte um argumento numa string.
A consulta seguinte converte o ContactID numa cadeia e compara-a com o valor da cadeia "4". A consulta devolve todos <os filhos de elementos Employee> do nó de contexto com um ContactID com um valor de string de "4":
/child::Contact[string(attribute::ContactID)="4"]
Pode ser especificado um atalho para o eixo do atributo (@) e, como o eixo filho é o predefinido, pode ser omitido da consulta:
/Contact[string(@ContactID)="4"]
Funcionalmente, esta consulta devolve os mesmos resultados da consulta de exemplo anterior, embora a avaliação seja feita contra um valor de cadeia e não contra o valor numérico (ou seja, o número 4).
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 (ExplicitConversionB.xml) e guarde-o no diretório onde SampleSchema1.xml foi guardado.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> Contact[string(@ContactID)="4"] </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">
<Contact ContactID="4" LastName="Acevedo" FirstName="Humberto" Title="Sr." />
</ROOT>