Como hemos dicho, XPath usa expresiones, que serán evaluadas.
¿Y cuáles son los resultados que da la evaluación de una expresión XPath?
Pues podemos obtener cuatro tipos de resultados diferentes:
- Un conjunto de nodos (node-set)
- No está ordenado.
- Se considera que todos los elementos de un conjunto de nodos son hermanos, independientemente de lo que fuesen originalmente.
- Aunque los hijos de los nodos que forman un conjunto de nodos son accesibles, los subárboles de un nodo no se consideran elementos del conjunto.
- Un valor booleano.
- Un número.
- Una cadena.
¿Qué elementos podemos utilizar en una expresión XPath?
Podemos utilizar :
- Agrupaciones: “()”, “{}”, “[ ]”.
- Elemento actual, elemento padre.
- Atributos: “@”.
- Elementos, “*”.
- Separadores, “::”.
- Comas, “,”.
- El nombre de un elemento.
- Tipo de nodo, que puede ser:
comment
.text
.procesing instruction
.node
.
- Operadores:
and, or, mod, div, *, /, //, |, +, -, =, !=, <, >, <=, >=.
- Nombres de función.
- Denominación de ejes:
ancestor, ancestor-or-self-atribute, child, descendant, descendant-or-self, following, following-sibling, namespace, parent, preceding, preceding-sibling, self.
- Literales, se ponen entre comillas dobles o simples. Pueden anidarse alternando el tipo de comillas.
- Números.
- Referencias a variables, para lo que se utiliza la sintaxis:
$nombreVariable.
Para ver cómo se emplean cada uno de ellos, puedes encontrar muy buenos ejemplos aquí.