[ 
https://issues.apache.org/jira/browse/DAFFODIL-2018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Adams resolved DAFFODIL-2018.
----------------------------------
    Resolution: Not A Bug

As far as I can tell from the DFDL Spec, this is a bug in the IBM 
implementation.  In section 12.3.2 of the spec, under the rules for resolving 
ambiguity between delimiters it says:

3. When the separator and terminator on a group have the same value, then at a 
point in
the data where either the separator or terminator could be found, the separator 
is tried
first. (Speculative execution may try the terminator subsequently).

and

5. Ties (same matched length) are broken by giving a separator priority over a 
terminator of
a sequence, or by choosing the innermost, or first in schema order.

> Non-portable test test_multiple_delimiters2
> -------------------------------------------
>
>                 Key: DAFFODIL-2018
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2018
>             Project: Daffodil
>          Issue Type: Bug
>          Components: Back End, Compatibility
>    Affects Versions: 2.2.0
>            Reporter: Michael Beckerle
>            Assignee: Josh Adams
>            Priority: Major
>              Labels: ForInteroperabilityTest
>
> IBM DFDL and Daffodil don't have same behavior for this test.
> Daffodil passes. Below is the trace output from IBM DFDL:
> {{Schema Definition Error: CTDV1425W : For a sequence, the DFDL properties 
> 'separator' and 'terminator' are not unique. Sequence: 
> #xscd(/schemaElement::myStringSeq4/type::0/model::sequence).
> Schema Definition Error: CTDV1425W : For a sequence, the DFDL properties 
> 'separator' and 'terminator' are not unique. Sequence: 
> #xscd(/schemaElement::myStringSeq4/type::0/model::sequence).
> Schema Definition Error: CTDV1425W : For a sequence, the DFDL properties 
> 'separator' and 'terminator' are not unique. Sequence: 
> #xscd(/schemaElement::myStringSeq4/type::0/model::sequence).
> TraceListener : info() Offset: 0. Parsing will start from root element 
> 'myStringSeq4'.
> TraceListener : info() The default value of '%LF;' was assigned to variable 
> 'outputNewLine' in namespace 'http://www.ogf.org/dfdl/dfdl-1.0/'.       
> TraceListener : info() The default value of 'ieee' was assigned to variable 
> 'binaryFloatRep' in namespace 'http://www.ogf.org/dfdl/dfdl-1.0/'.       
> TraceListener : info() Offset: 0. Starting to process element 'myStringSeq4'.
> TraceListener : info() Offset: 0. Starting to process element 'seq1'.
> TraceListener : info() Offset: 0. Starting to process element 'element1'.
> TraceListener : info() Offset: 0. Found delimited value 'abcde' for element 
> 'element1'. The delimiter was '|'. 
> TraceListener : info() Offset: 5. Finished processing element 'element1'.
> TraceListener : info() Offset: 5. Found separator '|' owned by the 'sequence' 
> group contained within element 'seq1'.
> TraceListener : info() Offset: 6. Starting to process element 'element2'.
> TraceListener : info() Offset: 6. Found delimited value 'fghij' for element 
> 'element2'. The delimiter was '|'. 
> TraceListener : info() Offset: 11. Finished processing element 'element2'.
> TraceListener : info() Offset: 11. Found separator '|' owned by the 
> 'sequence' group contained within element 'seq1'.
> TraceListener : info() Offset: 12. Starting to process element 'element3'.
> TraceListener : info() Offset: 12. Found delimited value 'klmno' for element 
> 'element3'. The delimiter was '::'. 
> TraceListener : info() Offset: 17. Finished processing element 'element3'.
> TraceListener : info() Offset: 17. Finished processing element 'seq1'.
> TraceListener : error() Separator '::' not found at offset '17'  for sequence 
> within element  '/myStringSeq4[1]'.
> TraceListener : fatal() Separator '::' not found at offset '17'  for sequence 
> within element  '/myStringSeq4[1]'.}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to