core | logical functions

www.altova.com Print this Topic Previous Page Up One Level Next page

Home >  Functions > Function Library Reference >

core | logical functions

Logical functions are (generally) used to compare input data with the result being a boolean "true" or " false". They are generally used to test data before passing on a subset to the target component using a filter.

 

input parameters = a | b, or value1 | value2

output parameter = result

 

The evaluation result of two input nodes depends on the input values as well as the data types used for the comparison.

 

For example, the 'less than' comparison of the integer values 4 and 12 yields the boolean value "true", since 4 is less than 12. If the two input strings contain '4' and '12', the lexical analysis results in the output value "false", since '4' is alphabetically greater than the first character '1' of the second operand (12).

 

If all input data types are of the same type, e.g. all input nodes are numerical types, or strings, then the comparison is done for the common type.

 

If the input nodes are of differing types (for example, integer and string, or string and date), then the data type used for the comparison is the most general (least restrictive) input data type of the two input types.

 

Before comparing two values, all input values are converted to a common datatype. Using the previous example; the datatype "string" is less restrictive than "integer". Comparing integer value 4 with the string '12', converts integer value 4 to the string '4', which is then compared with the string '12'.

 

Note:Logical functions cannot be used to test the existence of null values. If you supply a null value as argument to a logical function, it returns a null value. For more information about handling null values, see Nil Values / Nillable.

© 2019 Altova GmbH