A message might contain fields that can carry a specific out-of-range value. This is distinct from the field being empty. Such values are termed nil or null, and the field is said to be nillable or nullable.
The logical message tree supports the concept of out-of-range values by using one of two techniques, depending on the data format:
When you map nilled values, consider the behavior when you use the Move transform, Custom Java, or Custom ESQL to set a target.
Source | Target (XML nillable) | Target (Non-XML nillable) | Target (JSON object or JSON array) |
---|---|---|---|
Logical Message Tree XML nillable element | Target created as nilled, has xsi:nil attribute 'true', if source has xsi:nil attribute 'true'. | Target created with NULL value, if source has xsi:nil attribute 'true'. | Target created with NULL value, if source has xsi:nil attribute 'true'. |
Logical Message Tree XML element set to NULL | Target created with empty value. A Source XML having NULL value is not considered a nilled element. | Target created with empty value. A Source XML having NULL value is not considered a nilled element. | Target created with NULL value. |
Logical Message Tree non-XML | Target created as nilled. Target has xsi:nil attribute 'true', if source is NULL. | Target created with NULL value, if source is NULL. | Target created with NULL value, if source is NULL. |
Database nullable column | Target created as nilled. Target has xsi:nil attribute 'true', if source is SQL NULL. | Target created with NULL value, if source is SQL NULL. | Target created with NULL value, if source is SQL NULL. |
Custom ESQL | Target created as nilled. Target has xsi:nil attribute 'true', if return is ESQL NULL. | Target created with NULL value, if return is ESQL NULL. | |
Custom Java™ | Target created as nilled. Target has xsi:nil attribute 'true', if return is an MbElement with type set to "TYPE_UNKNOWN" and a value of "null" and a child element xsi:nil 'true'. | Target created with value NULL, if return is an MbElement with type set to "TYPE_UNKNOWN" and a value of "null". | |
Custom XPath expression: iib:setNull() | Target created as nilled. Target has xsi:nil attribute 'true', if source has xsi:nil attribute 'true'. | Target created as nilled, has xsi:nil attribute 'true', if source has xsi:nil attribute 'true'. | Target created with JSON null value. |