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?