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
As consultas XPath são especificadas sob a forma de uma expressão. Existem vários tipos de expressões. Um caminho de localização é uma expressão que seleciona um conjunto de nós em relação ao nó de contexto. O resultado da avaliação de um caminho de localização é um conjunto de nós.
Tipos de Caminhos de Localização
Um caminho de localização pode assumir qualquer uma destas formas:
Caminho de localização absoluta
Um caminho de localização absoluta começa no nó raiz do documento. Consiste numa marca de barra (/) opcionalmente seguida de um caminho de localização relativa. A marca de barra (/) seleciona o nó raiz do documento.
Caminho de localização relativa
Um caminho de localização relativa começa no nó de contexto do documento. Um caminho de localização consiste numa sequência de um ou mais passos de localização separados por uma marca de barra (/). Cada passo seleciona um conjunto de nós em relação ao nó de contexto. A sequência inicial de passos seleciona um conjunto de nós em relação a um nó de contexto. Cada nó desse conjunto é usado como nó de contexto para o passo seguinte. Os conjuntos de nós identificados por esse passo são unidos. Por exemplo, child::Order/child::OrderDetail seleciona os <filhos do elemento OrderDetail> dos <filhos do elemento Order> do nó de contexto.
Observação
Na implementação SQLXML 4.0 do XPath, toda consulta XPath começa no contexto raiz, mesmo que o XPath não seja explicitamente absoluto. Por exemplo, uma consulta XPath que começa por "Customer" é tratada como "/Customer". Na consulta XPath Customer[Order], o Cliente começa no contexto raiz, mas a Encomenda começa no contexto do Cliente. Para mais informações, consulte Introdução ao Uso de Consultas XPath (SQLXML 4.0).
Passos de Localização
Um caminho de localização (absoluto ou relativo) é composto por passos de localização que contêm três partes:
Eixo
O eixo especifica a relação da árvore entre os nós selecionados pelo passo de localização e o nó de contexto. Os eixos pai, filho, atributo e próprio são apoiados. Se um eixo filho for especificado no caminho de localização, todos os nós selecionados pela consulta são filhos do nó de contexto. Se for especificado um eixo pai , o nó selecionado é o nó pai do nó de contexto. Se um eixo de atributo for especificado, os nós selecionados são os atributos do nó de contexto.
Teste de nós
Um teste de nó especifica o tipo de nó selecionado pelo passo de localização. Cada eixo (filho, pai, atributo e eu) tem um tipo de nó principal. Para o eixo do atributo , o tipo principal de nó é <atributo>. Para os eixos pai, filho e auto-eixo , o tipo principal de nó é <elemento>.
Por exemplo, se o caminho de localização especificar filho::Cliente, os <filhos do elemento Cliente> do nó de contexto são selecionados. Como o eixo filho tem <elemento> como tipo principal de nó, o teste do nó, Cliente, é VERDADEIRO se o Cliente for um <nó elemento> .
Predicados de seleção (zero ou mais)
Um predicado filtra um conjunto de nós em relação a um eixo. Especificar predicados de seleção numa expressão XPath é semelhante a especificar uma cláusula WHERE numa instrução SELECT. O predicado é especificado entre parênteses. Aplicar o teste especificado nos predicados de seleção filtra os nós devolvidos pelo teste de nós. Para cada nó no conjunto de nós a ser filtrado, a expressão do predicado é avaliada com esse nó como nó de contexto, com o número de nós no conjunto de nós como tamanho de contexto. Se a expressão do predicado for avaliada como TRUE para esse nó, o nó é incluído no conjunto de nós resultante.
A sintaxe de um passo de localização é o nome do eixo e o teste do nó separados por dois dois-pontos (::), seguidos de zero ou mais expressões, cada uma entre parênteses. Por exemplo, o filho da expressão XPath (caminho de localização): Customer[@CustomerID='ALFKI'] seleciona todos os filhos <de elementos Cliente> do nó de contexto. Depois, o teste no predicado é aplicado ao conjunto de nós, que devolve apenas os <nós do elemento Cliente> com o valor do atributo 'ALFKI' para o seu atributo CustomerID .
Na presente seção
Especificação de um Eixo (SQLXML 4.0)
Fornece exemplos de especificação de um eixo.
Especificação de um Teste de Nó no Caminho de Localização (SQLXML 4.0)
Fornece exemplos de especificação de um teste de nó.
Especificação de Predicados de Seleção no Caminho de Localização (SQLXML 4.0)
Fornece exemplos de especificação de predicados de seleção.