and(boolean1,boolean2+)
Returns the logical AND of its arguments (after converting them to booleans, if needed to).
A number is TRUE if and only if it is neither positive or negative zero nor NaN.
A string is TRUE if and only if its length is non-zero.
A date/time is always TRUE.
An XML nodeset is TRUE if and only if it is non-empty.
or(boolean1,boolean2+)
Returns the logical OR of its arguments (after converting them to booleans, if needed to).
Conversion of values to booleans is described here.
not(boolean)Returns TRUE if its argument is FALSE, and FALSE otherwise.
Conversion of values to booleans is described here.
if(test1,value1,alternative*,fallback)
Alternative is: testi valuei.
Evaluates each testi in turn as a boolean, if the result of testi is TRUE, returns corresponding valuei. Otherwise, if all testi evaluates to FALSE, returns fallback.
Conversion of values to booleans is described here.