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