Especificando um caminho para o local (SQLXML 4.0)
Aplica-se a: SQL Server Banco de Dados SQL do Azure
São especificadas consultas XPath no formato de uma expressão. Há vários tipos de expressões. Um caminho de local é uma expressão que seleciona um conjunto de nós relativos ao nó de contexto. O resultado de avaliar um caminho de local é um conjunto de nós.
Tipos de caminhos de local
Um caminho de local pode ter um destes formatos:
Caminho de localização absoluta
Um caminho de local absoluto inicia no nó raiz do documento. Ele é formado por barra (/) opcionalmente seguida por um caminho de local relativo. A barra (/) seleciona o nó raiz do documento.
Caminho de localização relativa
Um caminho de local relativo inicia no nó de contexto no documento. Um caminho de local consiste em uma sequência de uma ou mais etapas de local separada por uma barra (/). Cada etapa seleciona um conjunto de nós relativo ao nó de contexto. A sequência inicial de etapas seleciona um conjunto de nós relativo a um nó de contexto. Cada nó nesse conjunto é usado como um nó de contexto para a etapa seguinte. São unidos os conjuntos de nós identificados por esta etapa. 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 de XPath do SQLXML 4.0, todas as consultas XPath começam no contexto raiz, mesmo que o XPath não seja explicitamente absoluto. Por exemplo, uma consulta XPath que comece com "Customer" é tratada como "/Customer". Na consulta XPath Customer[Order], Customer começa no contexto raiz, mas Order começa no contexto Customer. Para obter mais informações, consulte Introdução ao uso de consultas XPath (SQLXML 4.0).
Etapas de local
Um caminho de local (absoluto ou relativo) é composto por etapas de local que contêm três partes:
Axis
O eixo especifica a relação de árvore entre os nós selecionados pela etapa de local e o nó de contexto. Os eixos pai, filho, atributo e auto são suportados. Se um eixo filho for especificado no caminho de localização, todos os nós selecionados pela consulta serão os filhos do nó de contexto. Se um eixo pai for especificado, o nó selecionado será o nó pai do nó de contexto. Se um eixo de atributo 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 local. Cada eixo (filho, pai, atributo e self) tem um tipo de nó principal. Para o eixo de atributo, o tipo de nó principal é <atributo>. Para os eixos pai, filho e self , o tipo de nó principal é <element>.
Por exemplo, se o caminho do local especificar child::Customer, os <filhos do elemento Customer> do nó de contexto serão selecionados. Como o eixo filho tem <elemento> como seu tipo de nó principal, o teste de nó, Customer, será TRUE se Customer for um <nó de elemento.>
Predicados de seleção (zero ou mais)
Um predicado filtra um conjunto de nós em relação a um eixo. A especificação de 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 conjunto de nós como o tamanho do 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 local é o nome do eixo e o teste de nó separados por dois-pontos duplos (::), seguidos por zero ou mais expressões entre colchetes. Por exemplo, a expressão XPath (caminho de localização) child::Customer[@CustomerID='ALFKI'] seleciona todos os <filhos do elemento Customer> 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 do local (SQLXML 4.0)
Fornece exemplos de especificação de um teste de nó.
Especificando predicados de seleção no caminho do local (SQLXML 4.0)
Fornece exemplos de especificação de predicados de seleção.