Assistente da Expressão XPath - Opções de Referência de Sintaxe

Você pode utilizar as opções Referência de Sintaxe para especificar os operadores e um caminho de local para a sua expressão XPath. Os operadores são utilizados para manipular valores numéricos, combinar caminhos e comparar cadeia ou valores numéricos. Um caminho local descreve o local de um nó ou um grupo de nós em um documento XML.

Existem dois tipos diferentes de caminhos de local: absoluto e relativo. Os caminhos absolutos são iniciados em um ponto de referência fixo - o nó raiz. Os caminhos relativos são iniciados em um ponto variável -um nó de contexto.

Um caminho de local retorna um conjunto de nós, que é uma coleta de nós (qualquer parte de um documento XML, como um elemento, atributo, espaço de nomes ou comentário). Os caminhos de local consistem nas etapas de local. Cada etapa possui duas partes:

Uma etapa de local é semelhante ao seguinte:

axis: node-test

As etapas de local podem ser combinadas, separando-as com barras. Cada etapa no caminho de local resultante configura o nó de contexto para o próximo caminho na etapa.

Para acessar as opções Referência de Sintaxe, clique na guia Referência no assistente Expressão XPath.

Especificadores de Eixo

Cada etapa no local XPath se move ao longo de um eixo a partir de um nó de contexto. Por exemplo, se você selecionar child como seu eixo, sua expressão XPath procura através de todos os filhos do nó de contexto.

Eixo Local no qual os nós são procurados
ancestor:: O nó raiz e todos os nós de elemento que contêm o nó de contexto.
ancestor-or-self :: Todos os ascendentes do nó de contexto, bem como o próprio nó.
attribute:: Todos os atributos do nó de contexto.
child:: Todos os filhos do nó de contexto. O atributo e os nós de espaço de nomes não são filhos de quaisquer nós, embora eles tenham nós pais.

Esse é o valor padrão.

descendant:: Todos os nós contidos dentro do nó de contexto, ou seja, qualquer filho ou os filhos dos filhos e assim por diante. Apenas os nós raiz e de elementos possuem descendentes. Como o eixo filho, o eixo descendente nunca contém nós de espaço de nomes ou atributos.
descendant-or-self:: Qualquer descendente do nó de contexto ou próprio nó de contexto.
following:: Todos os nós que são iniciados após o término do nó de contexto, exceto para os nós de atributo e os nós de espaço de nomes.
following-sibling::  Todos os nós que seguem o fim do nó de contexto e que possuem o mesmo nó pai. Os nós de espaço de nomes e os atributos não possuem irmãos.
namespace::  Todos os espaços de nomes no nó de contexto.
parent::  O nó raiz ou elemento que contém imediatamente o nó de contexto. Apenas o nó raiz não possui um nó pai.
preceding::  Todos os nós que terminam antes do início do nó de contexto, exceto para nós de atributos e nós de espaço de nomes.
preceding-sibling:: Todos os nós que precedem o início do nó de contexto e que possuem o mesmo nó pai. Os nós de espaço de nomes e os atributos não possuem irmãos.
self::  O próprio nó de contexto.

Testes de Nó

Cada etapa de local que possui, pelo menos, um eixo e um teste de nó. O teste de nó refina melhor os nós selecionados pela etapa de local. Por exemplo, se você especificar child:: comment( ) como sua etapa de local, sua expressão XPath retorna todo o nó de comentário filho do nó de contexto.

O que retorna
* Seleciona todos os elementos, independente do nome. Por exemplo, child::* seleciona todos os elementos filhos do nó de contexto e o attribute::* seleciona todos os atributos do nó de contexto.
comment ( ) Todos os nós de comentário.
node( ) Todos os nós, independente do tipo.
processing-instruction ('target' ) Sem argumentos, retorna todas as instruções de processamento. Com um único argumento de cadeia target, seleciona todas as instruções de processamento que possuem o destino especificado.
text( ) Todos os nós de texto. Por exemplo, child::text() seleciona todo o nó de texto filho do nó de contexto.

Operadores

Existem três tipos diferentes de operadores:
  • Conjunto de Nós: operadores utilizados para combinar ou definir os caminhos
  • Booleano: operadores utilizados para comparar as expressões numéricas ou cadeia
  • Número: operadores utilizados para manipular os valores numéricos

Conjunto de Nós

Operador Função
| Este é o operador union. Ele toma dois conjuntos de nós e combina todos os nós nos conjuntos de nós (após remover os nós duplicados).
/ Seleciona todos os nós filhos.
// Seleciona os nós descendentes.

Booleano

Os operadores booleanos podem ser utilizados para comparar as expressões numéricas ou cadeia ou valores Booleanos.

Operador Retorna
<= true se o valor da primeira expressão numérica for menor ou igual ao valor do segundo; caso contrário, false.
< true se o valor da primeira expressão numérica for menor que o valor do segundo; caso contrário, false.
>= true se o valor da primeira expressão numérica for maior ou igual ao valor do segundo; caso contrário, false.
> true se o valor da primeira expressão numérica for maior que o valor do segundo; caso contrário, false.
= true se ambas as expressões (cadeia ou numérica) possuírem o mesmo valor; caso contrário, false.
!= true se ambas as expressões (cadeia ou numérica) não tiverem o mesmo valor; caso contrário, false.
e true, se ambos os valores Booleanos forem true; caso contrário, false.
ou false, apenas se ambos os valores forem false; caso contrário, true.

Número

Esses operadores podem ser utilizados para manipular os valores numéricos.

Operador Retorna
+ A soma das duas expressões numéricas.
- A diferença da primeira expressão numérica menos a segunda.
* O produto de duas expressões numéricas.
div A primeira expressão numérica divida pela segunda expressão.
mod \ A primeira expressão numérica módulo segunda expressão (retorna o restante).

Feedback