4.3 Boolean Functions
Boolean Functions
boolean boolean(object)
The boolean function converts its argument to a
boolean as follows:
-
a number is true if and only if it is neither positive or
negative zero nor NaN
-
a node-set is true if and only if it is non-empty
-
a string is true if and only if its length is non-zero
-
an object of a type other than the four basic types is
converted to a boolean in a way that is dependent on that
type
boolean not(boolean)
The not function returns true if its argument is
false, and false otherwise.
boolean true()
The true function returns true.
boolean false()
The false function returns false.
boolean lang(string)
The lang function returns true or false depending on
whether the language of the context node as specified by
xml:lang attributes is the same as or is a sublanguage of
the language specified by the argument string. The language of the
context node is determined by the value of the xml:lang
attribute on the context node, or, if the context node has no
xml:lang attribute, by the value of the
xml:lang attribute on the nearest ancestor of the context
node that has an xml:lang attribute. If there is no such
attribute, then lang returns false. If there is such an
attribute, then lang returns true if the attribute
value is equal to the argument ignoring case, or if there is some
suffix starting with - such that the attribute value is
equal to the argument ignoring that suffix of the attribute value and
ignoring case. For example, lang("en") would return true
if the context node is any of these five elements:
<para xml:lang="en"/>
<div xml:lang="en"><para/></div>
<para xml:lang="EN"/>
<para xml:lang="en-us"/>
|