Valores booleanos, comparaciones y expresiones fijas
Los modelos de filtro pueden contener expresiones booleanas, de comparación y de conjunto. Los accesos directos enumerados en la tabla siguiente representan símbolos alternativos que se proporcionan en esta implementación de transformaciones XSL (XSLT). Esta documentación describe estos operadores de expresión.
Operador | Descripción |
---|---|
|
AND lógico |
|
OR lógico |
|
Negación |
|
Igualdad |
|
No igual |
|
Menor que |
|
Menor o igual que |
|
Mayor que |
|
Mayor o igual que |
|
Operación de conjunto, devuelve la unión de dos conjuntos de nodos |
* Método XPath extendido
La sintaxis del World Wide Web Consortium (W3C) para palabras clave del operador utiliza espacios en blanco u otros separadores más que el signo del dólar ($
) utilizado en la versión 2.5. El la sintaxis W3C, una palabra clave binaria con la forma $xxx$ puede expresarse como wsxxxws, donde ws se refiere a un token terminador que puede ser un espacio en blanco, caracteres de una sola comilla ('
), o caracteres de comillas ("
). Los operadores unarios tales como not()
utilizan notación funcional. Aunque la implementación de Microsoft es compatible con ambas sintaxis, se recomienda que la sintaxis W3C se utilice para compatibilidad futura.
Orden de prioridad (desde la prioridad más alta a la más baja) entre los operadores booleanos y de comparación en la siguiente tabla.
Prioridad | Operadores | Descripción |
---|---|---|
1 |
|
Agrupar |
2 |
|
Filtros |
3 |
|
Operaciones de ruta |
4 |
|
Comparaciones |
5 |
|
Comparaciones |
6 |
|
Unión |
7 |
|
NOT booleano |
8 |
|
AND booleano |
9 |
|
OR booleano |
Cuando los operadores se utilizan en un documento XML, como una hoja de estilos XSLT, los tokens <
y >
deberán escaparse como <
y >
, respectivamente. Por ejemplo, la siguiente instrucción XSLT invoca una regla de plantilla XSLT en todos los elementos <book>
cuyo elemento <price>
tiene un valor numérico menor o igual que 10.
<xsl:apply-templates select="book[price <= 10]"/>
Cuando se utiliza una expresión XPath con DOM, los operadores < y > no necesitan ser caracteres de escape. Por ejemplo, la siguiente instrucción JScript selecciona todos los elementos <book>
cuyo elemento <price>
tiene un valor numérico menor o igual que 10.
var cheap_books = dom.selectNodes("book[price <= 10]");
Las expresiones booleanas pueden coincidir con todos los nodos de un valor particular o todos los nodos con nodos en rangos particulares. El siguiente es un ejemplo de expresión booleana que devuelve falso.
1 >= 2
Los operadores distinguen mayúsculas de minúsculas.
AND lógico y OR lógico
Los operadores booleanos and
y or
realizan operaciones AND lógico y OR lógico, respectivamente. Estos operadores, junto con los paréntesis de grupo, pueden utilizarse para crear expresiones lógicas sofisticadas.
Ejemplos
Expresión | Hace referencia a |
---|---|
|
Todos los elementos |
|
Todos los elementos |
NOT booleano
El operador booleano not
niega el valor de una expresión dentro de un modelo de filtro.
Ejemplos
Expresión | Hace referencia a |
---|---|
|
Todos los elementos |
author[not(degree or award) and publication] |
Todos los elementos |
Ejemplo
Archivo XML (test.xml)
Archivo XSLT (test.xsl)
La siguiente hoja de estilos XSLT selecciona todos los elementos <x> sin ningún atributo.
Resultados
La transformación aplicada al archivo XML de arriba produce el siguiente resultado: