Veamos ahora algunos de los operadores más importantes agrupados según su funcionalidad:
- Comparación de valores: Comparan dos valores escalares y produce un error si alguno de los operandos es una secuencia de longitud mayor de 1. Estos operadores son:
eq
, igual.ne
, no igual.lt
, menor que.le
, menor o igual que.gt
, mayor que.ge
, mayor o igual que.
- Comparación generales: Permiten comparar operandos que sean secuencias.
- =, igual.
- !=, distinto.
- >, mayor que.
- >=, mayor o igual que.
- <, menor que.
- <=, menor o igual que.
- Comparación de nodos: Comparan la identidad de dos nodos.
is
, devuelve true si las dos variables que actúan de operandos están ligadas al mismo nodo.is not
, devuelve true si las dos variables no están ligadas al mismo nodo.
- Comparación de órdenes de los nodos: <<, compara la posición de dos nodos. Devuelve “true“ si el nodo ligado al primer operando ocurre primero en el orden del documento que el nodo ligado al segundo.
- Lógicos:
and
yor
Se emplean para combinar condiciones lógicas dentro de un predicado. - Secuencias de nodos: Devuelven secuencias de nodos en el orden del documento y eliminan duplicados de las secuencias resultado.
- Unión, devuelve una secuencia que contiene todos los nodos que aparecen en alguno de los dos operandos que recibe.
Intersect
, devuelve una secuencia que contiene todos los nodos que aparecen en los dos operandos que recibe.Except
, devuelve una secuencia que contiene todos los nodos que aparecen en el primer operando que recibe y que no aparecen en el segundo.
- Aritméticos: +, -, *,
div
ymod
, devuelven respectivamente la suma, diferencia, producto, cociente y resto de operar dos números dados.