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
Um teste de nó especifica o tipo de nó selecionado pelo passo de localização. Cada eixo (filho, pai, atributo ou self) 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>.
Observação
O teste do nó coringa * (por exemplo, child::*) não é suportado.
Teste de Nó: Exemplo 1
O caminho child::Customer de localização seleciona <os filhos do elemento Cliente> do nó de contexto.
Neste exemplo, child é o eixo e Customer é o teste do nó. O tipo principal de nó para o eixo filho é <elemento>. Portanto, o teste do nó é VERDADEIRO se o <nó Cliente> for um <nó elemento> . Se o nó de contexto não <tiver filhos Cliente> , um conjunto vazio de nós é devolvido.
Teste do Nó: Exemplo 2
O caminho attribute::CustomerID de localização seleciona o atributo CustomerID do nó de contexto.
No exemplo, attribute é o eixo e CustomerID é o teste do nó. O tipo principal de nó do eixo do atributo é <o> atributo. Portanto, o teste do nó é VERDADEIRO se o CustomerID for um <nó de atributo> . Se o nó de contexto não tiver CustomerID, é devolvido um conjunto vazio de nós.
Observação
Nesta implementação do XPath, se um passo de localização se referir a um <elemento> ou a um <tipo de> atributos que não está declarado no esquema, é gerado um erro. Isto é diferente da implementação do XPath no MSXML, que devolve um conjunto de nós vazio.
Sintaxe Abreviada para os Eixos
A seguinte sintaxe abreviada para o caminho de localização é suportada:
attribute::pode ser abreviado para@.O caminho
Customer[@CustomerID="ALFKI"]de localização é o mesmo quechild::Customer[attribute::CustomerID="ALFKI"].child::pode ser omitido de um passo de localização.Assim, filho é o eixo padrão. O caminho
Customer/Orderde localização é o mesmo quechild::Customer/child::Order.self::node()pode ser abreviado para um período (.), eparent::node()pode ser abreviado para dois períodos (..).