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:
andyorSe 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: +, -, *,
divymod, devuelven respectivamente la suma, diferencia, producto, cociente y resto de operar dos números dados.