Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um teste de nó especifica o tipo de nó selecionado pela etapa de localização. Cada eixo (child, parent, attributeou 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>.
Observação
Não há suporte para o teste de nó curinga * (por exemplo, child::*) .
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 de nó. O tipo de nó principal do eixo é <o elemento>child. Portanto, o teste de nó será TRUE se o <nó Cliente> for um <nó de elemento> . Se o nó de contexto não <tiver filhos do Cliente> , 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 attribute eixo é <o 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 local se referir a um <elemento> ou um <tipo de atributo> que não é declarado no esquema, um erro será gerado. Isso é diferente da implementação do XPath no MSXML, que retorna um conjunto de nós vazio.
Sintaxe abreviada para os eixos
Há suporte para a seguinte sintaxe abreviada para o caminho de localização:
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 uma etapa de local.Assim,
childé o eixo padrão. O caminhoCustomer/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 (..).