Especificando um teste de nó no caminho do local (SQLXML 4.0)
Aplica-se a: SQL Server Banco de Dados SQL do Azure
Um teste de nó especifica o tipo de nó selecionado pela etapa de local. Cada eixo (filho, pai, atributo ou 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>.
Observação
O teste de nó de curinga * (por exemplo, child::*
) não tem suporte.
Teste de nó: Exemplo 1
O caminho child::Customer
de <localização seleciona os filhos do elemento Customer> do nó de contexto.
Neste exemplo, child
é o eixo e Customer
é o teste de nó. O tipo de nó principal para o eixo filho é <element.> Portanto, o teste de nó será TRUE se o nó Customer> for um< nó de elemento>.< Se o nó de contexto não tiver filhos <Customer> , um conjunto vazio de nós será retornado.
Teste de 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 de nó. O tipo de nó principal do eixo de atributo é <atributo>. Portanto, o teste de nó será TRUE se CustomerID for um< nó de atributo>. Se o nó de contexto não tiver CustomerID , um conjunto vazio de nós será retornado.
Observação
Nesta implementação do XPath, se uma etapa de localização se referir a um <elemento> ou a um tipo de< atributo> que não está declarado no esquema, um erro será gerado. Isto é diferente da implementação de XPath em MSXML, que retorna um conjunto de nós vazio.
Sintaxe abreviada para os eixos
A sintaxe abreviada a seguir para o caminho de local tem suporte:
attribute::
pode ser abreviado para@
.O caminho do local
Customer[@CustomerID="ALFKI"]
é o mesmo quechild::Customer[attribute::CustomerID="ALFKI"]
.child::
pode ser omitido de uma etapa de local.Assim, filho é o eixo padrão. O caminho do local
Customer/Order
é o mesmo quechild::Customer/child::Order
.self::node()
pode ser abreviado como um ponto (.) eparent::node()
pode ser abreviado como dois pontos (..).