Compartilhar via


Especificando um caminho de localização (SQLXML 4.0)

As consultas XPath são especificadas na forma de uma expressão. Há 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 local é um conjunto de nós.

Tipos de caminhos de localização

Um caminho de localização pode usar qualquer um desses formulários:

  • Caminho de localização absoluto

    Um caminho de local absoluto começa no nó raiz do documento. Ele consiste em uma marca de barra (/) opcionalmente seguida por um caminho de localização relativo. A marca de barra (/) seleciona o nó raiz do documento.

  • Caminho de localização relativo

    Um caminho de local relativo começa no nó de contexto no documento. Um caminho de localização consiste em uma sequência de uma ou mais etapas de localização separadas por uma marca de barra (/). Cada etapa seleciona um conjunto de nós em relação ao nó de contexto. A sequência inicial de etapas seleciona um conjunto de nós em relação a um nó de contexto. Cada nó nesse conjunto é usado como um nó de contexto para a etapa a seguir. Os conjuntos de nós identificados por essa etapa 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 do SQLXML 4.0 do XPath, cada consulta XPath começa no contexto raiz, mesmo que o XPath não seja explicitamente absoluto. Por exemplo, uma consulta XPath que começa com "Customer" é tratada como "/Customer". No cliente de consulta XPath [Pedido], o cliente começa no contexto raiz, mas a ordem começa no contexto do cliente. Para obter mais informações, consulte Introdução ao uso de consultas XPath (SQLXML 4.0).

Etapas de localização

Um caminho de localização (absoluto ou relativo) é composto de etapas de localização que contêm três partes:

  • do Eixo

    O eixo especifica a relação de árvore entre os nós selecionados pela etapa de localização e pelo nó de contexto. Há parentsuporte para eixos e self eixoschildattribute. Se um child eixo for especificado no caminho de localização, todos os nós selecionados pela consulta serão os filhos do nó de contexto. Se um parent eixo for especificado, o nó selecionado será o nó pai do nó de contexto. Se um attribute eixo for especificado, os nós selecionados serão os atributos do nó de contexto.

  • Teste de nó

    Um teste de nó especifica o tipo de nó selecionado pela etapa de localização. Cada eixo (child, parent, attributee self) tem um tipo de nó principal. Para o attribute eixo, o tipo de nó principal é <o atributo>. Para os parenteixos , childe self , o tipo de nó principal é <o elemento>.

    Por exemplo, se o caminho de localização especifica child::Customer, os <filhos do elemento Cliente> do nó de contexto serão selecionados. Como o eixo tem <o elemento> como seu tipo de nó principal, o teste de nó, Cliente, será TRUE se Customer for um <nó de elemento>.child

  • 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 em uma expressão XPath é semelhante à especificação de uma cláusula WHERE em uma instrução SELECT. O predicado é especificado entre colchetes. A aplicação do teste especificado nos predicados de seleção filtra os nós retornados pelo teste de nó. Para cada nó no conjunto de nós a ser filtrado, a expressão de predicado é avaliada com esse nó como o nó de contexto, com o número de nós no nó definido como tamanho de contexto. Se a expressão de predicado for avaliada como TRUE para esse nó, o nó será incluído no conjunto de nós resultante.

    A sintaxe de uma etapa de localização é o nome do eixo e o teste de nó separados por dois dois-pontos (::), seguido por zero ou mais expressões, cada uma entre colchetes. Por exemplo, a expressão XPath (caminho de localização) filho::Customer[@CustomerID='ALFKI'] seleciona todos os filhos do <elemento Cliente> do nó de contexto. Em seguida, o teste no predicado é aplicado ao conjunto de nós, que retorna apenas os nós do elemento Customer> com o< valor de atributo 'ALFKI' para seu atributo CustomerID.

Nesta seção

Especificando um eixo (SQLXML 4.0)
Fornece exemplos de especificação de um eixo.

Especificando um teste de nó no caminho de localização (SQLXML 4.0)
Fornece exemplos de especificação de um teste de nó.

Especificando predicados de seleção no caminho de localização (SQLXML 4.0)
Fornece exemplos de especificação de predicados de seleção.