[XQuery] MS-XQ-LC1-080

Section 3.6	Logical Expressions (and 2.3.3 Effective Boolean Value)
Technical

We should simplify the rules for the implicit effective Boolean values
to allow dispatch of most checks based on static information:

EBV(X) should be true if:

X is a non-empty sequence of nodes
X is the atomic value xs:boolean(true)

EBV(x) should be false if:

X is an empty sequence
X is the atomic value xs:boolean(false)

EBV(x) should be a type error if:
X contains an atomic value other than Boolean
X is a sequence of Boolean values

Note that this means that:
A zero-length value of type xs:string or xdt:untypedAtomic
A numeric value that is equal to zero
The xs:double or xs:float value NaN

All return a type error.

Received on Monday, 16 February 2004 06:11:13 UTC