Hello DFDL community,
I learned that DFDL supports in-band nil values. Recall what an in-band nil is:
In-band nil: a symbol inserted into the region indicates nil. A part of the
region's value space is reserved for indicating nil.
I learned that, if the region is to hold an atomic value, then the symbol can
be anything. For example, I used N/A to represent a region with a nil value:
<xs:element name="make" type="xs:string" nillable="true" dfdl:nilValue="N/A" />
I learned that, if the region is to hold a complex value, then the symbol is
restricted to %ES; (empty string). For example:
<xs:element name="person" nillable="true" dfdl:nilValue="%ES;">
<xs:complexType>
<xs:sequence dfdl:separator="%NL;" dfdl:separatorPosition="infix">
<xs:element name="name" type="xs:string" />
<xs:element name="age" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
Is that restriction true of real world data formats?
Recall that there are some data formats out in the real world which specify
out-of-band that a region represents a nil value. How are out-of-band nils
expressed in DFDL?
/Roger