An earlier email I sent had this schema:
<xs:element name="file1">
<xs:complexType>
<xs:sequence dfdl:separator="," dfdl:separatorPosition="infix"
dfdl:separatorSuppressionPolicy="never">
<xs:element name="given-name" type="xs:string" minOccurs="0" maxOccurs="3" />
<xs:element name="surname" type="xs:string" minOccurs="0"/>
<xs:element name="phone" type="xs:string" minOccurs="0" maxOccurs="6" />
</xs:sequence>
</xs:complexType>
</xs:element>
Given that, and a default dfd:format with occursCountKind='implicit' I expect this data:
"madonna,,,,,,,,,"
To produce this DFDL Infoset (cast as XML):
<file1>
<given-name>madonna</given-name>
</file1>
I don't expect to see any empty elements like <given-name></given-name> because all elements are optional, so a zero-length representation for a xs:string is the Empty representation, and optional empty is never added to the infoset.
Furthermore, this should "round trip" i.e., unparse back to the original input data.
Am I correct here?