Partilhar via


Especificando um teste de nó no caminho do local (SQLXML 4.0)

Um teste de nó especifica o tipo de nó selecionado pela etapa de local. Todo eixo (child, parent, attribute ou self) tem um tipo de nó principal. Para o eixo attribute, o tipo de nó principal é <attribute>. Para os eixos parent, child e self, o tipo de nó principal é <element>.

ObservaçãoObservação

O teste de nó de curinga * (por exemplo, child::*) não tem suporte.

Teste de nó: exemplo 1

O caminho do local child::Customer 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 child é <element>. Portanto, o teste de nó será TRUE se o nó <Customer> for um nó <element>. Se o nó de contexto não tiver nenhum filho <Customer>, um conjunto vazio de nós será retornado.

Teste de nó: exemplo 2

O caminho do local attribute::CustomerID 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 attribute é <attribute>. Portanto, o teste de nó será TRUE se o nó CustomerID for um nó <attribute>. Se o nó de contexto não tiver nenhum CustomerID, um conjunto vazio de nós será retornado.

ObservaçãoObservação

Nessa implementação do XPath, se ume etapa do local se referir a um tipo <element> ou <attribute> que não esteja declarado no esquema, será gerado um erro. 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 que child::Customer[attribute::CustomerID="ALFKI"].

  • child:: pode ser omitido de uma etapa de local.

    Assim, child é o eixo padrão. O caminho do local Customer/Order é o mesmo que child::Customer/child::Order.

  • self::node() pode ser abreviado como um ponto (.) e parent::node() pode ser abreviado como dois pontos (..).