This section of the spec seems wrong:

14.1 Empty Sequences
A sequence having no children is syntactically legal in DFDL. In the data stream, such a
sequence can have non-zero length LeftFraming and RightFraming regions, but the
SequenceContent region in between must be empty. It is a processing error if the
SequenceContent region of an empty sequence has non-zero length when parsing.

XML schema does not define an empty sequence that is the content model of a complex type
definition as effective content so any DFDL annotations on such a construct would be ignored. It
is a schema definition error if the empty sequence is the content model of a complex type, or if a
complex type has nothing in its content model at all.

This seems like it is both legal and useful:

<complexType name="headerRowType">
   <sequence dfdl:initiator="name%WSP+;address%WSP+;phone" dfdl:terminator="%NL"/>
</complexType>

So the statement, DFDL annotations on such a construct would be ignored, is not right.

And also a complexType sequence might actually have content via dfdl:hiddenGroupRef.

<complexType name="hiddenGroupType">
   <sequence dfdl:hiddenGroupRef="myHiddenGroup"/>
</complexType>

So the statement that the region in-between left and right framing must be empty is also not right.

Comments?


--
Mike Beckerle | OGF DFDL Workgroup Co-Chair | Tresys Technology | www.tresys.com