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:
Source | Target | Comment |
---|---|---|
Logical Message Tree XML nillable element |
XML nillable |
Target created as nilled, has xsi:nil attribute 'true', if source has xsi:nil attribute 'true'. |
Logical Message Tree XML nillable element |
Non-XML nillable |
Target created with NULL value, if source has xsi:nil attribute 'true'. |
Logical Message Tree XML nillable element |
JSON object or JSON array nillable |
Target created with NULL value, if source has xsi:nil attribute 'true'. |
Logical Message Tree XML element set to NULL |
XML or non-XML nillable |
Target created with empty value. A Source XML having NULL value is not considered a nilled element. |
Logical Message Tree XML element set to NULL |
JSON object or JSON array nillable |
Target created with NULL value. |
Logical Message Tree non-XML |
XML nillable |
Target created as nilled, has xsi:nil attribute 'true', if source is NULL. |
Logical Message Tree non-XML |
Non-XML nillable |
Target created with NULL value, if source is NULL. |
Logical Message Tree non-XML |
JSON object or JSON array nillable |
Target created with NULL value, if source is NULL. |
Database nullable column |
XML nillable |
Target created as nilled, has xsi:nil attribute 'true', if source is SQL NULL. |
Database nullable column |
Non-XML nillable |
Target created with NULL value, if source is SQL NULL. |
Database nullable column |
JSON object or JSON array nillable |
Target created with NULL value, if source is SQL NULL. |
Custom ESQL |
XML nillable |
Target created as nilled, has xsi:nil attribute 'true', if return is ESQL NULL |
Custom ESQL |
Non-XML nillable |
Target created with NULL value, if return is ESQL NULL |
Custom Java™ |
XML nillable |
Target created as nilled, 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'. |
Custom Java |
Non-XML nillable |
Target created with value NULL, if return is an MbElement with type set to "TYPE_UNKNOWN" and a value of "null" |
Custom XPath |
JSON object or JSON array nillable |
Target created with NULL value. |
In the preceding table, XML means XMLNSC or XMLNS logical trees. The term non-XML means MRM or DFDL logical trees, and applies to all MRM physical formats, including MRM XML.