Josh Adams created DAFFODIL-1886:
------------------------------------
Summary: Delimited parsing with occursCountKind="implicit" with
separators is not handling missing optional elements correctly
Key: DAFFODIL-1886
URL: https://issues.apache.org/jira/browse/DAFFODIL-1886
Project: Daffodil
Issue Type: Bug
Components: Compatibility, Front End
Affects Versions: 2.1.0
Reporter: Josh Adams
Assignee: Josh Adams
This bug currently prevents the IBM4690-TLOG schema project from working.
Example schema:
{code:java}
<tdml:defineSchema name="s15">
<dfdl:format ref="ex:daffodilTest1" lengthKind="delimited"
encoding="ISO-8859-1" occursCountKind="implicit" textNumberCheckPolicy="strict"
textNumberPadCharacter="0" textNumberJustification="right"
lengthUnits="bytes" separatorSuppressionPolicy="trailingEmpty"
separatorPosition="prefix"/>
<xs:element name="testSeq" dfdl:lengthKind="delimited">
<xs:complexType>
<xs:sequence dfdl:initiatedContent="no" dfdl:separatorPosition="infix"
dfdl:sequenceKind="ordered" dfdl:separator=":">
<xs:element name="a" type="xs:int"/>
<xs:element name="b" type="xs:int" minOccurs="0"/>
<xs:element name="c" type="xs:int" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</tdml:defineSchema>
{code}
This schema should be able to parse the following scenarios:
1:2:3 -> a=1, b=2, c=3
1:2: -> a=1, b=2
1::3 -> a=1, c=3
1:: -> a=1
Currently scenarios 1,2 and 4 work as expected, but scenario 3 ends up parsing
as just a=1 and b and c are just skipped.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)