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)

Reply via email to