Función fn:boolean
La función fn:boolean devuelve el valor booleano efectivo de una secuencia.
Sintaxis
- expresión-secuencia
- Cualquier secuencia que contenga elementos de cualquier tipo, o la secuencia vacía.
Valor devuelto
El valor devuelto es un valor xs:boolean que depende del valor de la expresión de secuencia:
- Si la expresión de secuencia es la secuencia vacía, se devuelve false.
- Si la expresión de secuencia no es la secuencia vacía y la expresión de secuencia contiene un valor:
- Si el valor es xs:boolean false, se devuelve false.
- Si el valor es una cadena de longitud 0 y el tipo es xs:string o xs:untypedAtomic,, se devuelve false.
- Si el valor es 0 y el tipo es numérico, se devuelve false.
- Si el valor es " NaN, " y el tipo es "xs:double", se devuelve "false".
- De lo contrario, se devuelve true.
- Si la expresión de secuencia no es la secuencia vacía y la expresión de secuencia contiene más de un valor, se devuelve true.
ejemplos
Las siguientes funciones devuelven verdadero, porque ambas son cadenas con una longitud mayor que cero
fn:boolean("true")fn:boolean("false")
La siguiente función devuelve falso, porque el valor de la expresión de secuencia es 0 y el tipo es numérico: fn:boolean(0)
Los siguientes ejemplos muestran cómo se puede utilizar la función fn:boolean en el contexto más amplio de Db2. Las sentencias XMLQUERY se utilizan para consultar datos XML y toman una expresión e XQuery a como primer argumento. En ambos casos, la función fn:boolean recibe datos de la cláusula PASSING. En el primer ejemplo, el argumento de la función fn:boolean es una secuencia de tres ceros. En el segundo ejemplo, el argumento de la función fn:boolean son tres valores «false». Ambas funciones se evalúan como verdaderas, porque la expresión de secuencia contiene más de un valor.
XMLQUERY('fn:boolean($x)' PASSING XMLCONCAT(XMLQUERY('0'),
XMLQUERY('0'),XMLQUERY('0')))XMLQUERY('fn:boolean(fn:data(//b))'
PASSING XMLPARSE(DOCUMENT '<a><b>false</b><b>false></b><b>false</b></a>'))