IBM published a set of test cases for DFDL. One of them is length_delimited_12_03.
I want to discuss whether this is in fact the behavior we want for DFDL.
In this example, there is data "abcde", and the default format is lengthKind="delimited", but no delimiters are defined anywhere.
<!-- parent with specified length -->
<xs:element
name="myStringSeq2"
dfdl:lengthKind="explicit"
dfdl:length="5">
<xs:complexType>
<xs:sequence
dfdl:initiatedContent="no"
dfdl:separatorPosition="infix"
dfdl:sequenceKind="ordered"
dfdl:separator=""
>
<xs:element
name="Test1"
type="xs:string">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
The only way for this to parse is for the inner element Test1 to be delimited by the end-of-data coming from the explicit surrounding box created by the myStringSeq2.
I thought this should be a SDE because no delimiter is defined anywhere. I see that it can work, if we adopt a policy that delimited, but with no delimiters, means delimited by end-of-available-data.
But, I thought that is what lengthKind="endOfData" is for.
Can anyone comment as to why the lengthKind="delimited" but with no delimiter strings defined should NOT be an SDE?