After discussion by the DFDL WG, it was
noted that applying a default lengthKind of 'delimited' to all the elements
in a DFDL model for CSV would cause the root element to be using 'delimited'
without any delimiters in scope. Further spec section 12.3.2 specifically
allows for end-of-data being a valid reason for successfully ending a delimited
scan. Therefore it is not correct for 'delimited' and no delimiters to
give rise to an SDE.
Regards
Steve Hanson
Architect, Data Format Description Language (DFDL)
Co-Chair, OGF
DFDL Working Group
IBM SWG, Hursley, UK
smh@uk.ibm.com
tel:+44-1962-815848
From:
Steve Hanson/UK/IBM
To:
Mike Beckerle <mbeckerle.dfdl@gmail.com>
Cc:
dfdl-wg@ogf.org, dfdl-wg-bounces@ogf.org
Date:
21/06/2012 15:49
Subject:
Re: [DFDL-WG]
test case length_delimited_12_03
Hi Mike
I think the test case can be explained
by the fact that IBM DFDL does not yet support dfdl:lenghKind = 'endOfParent',
hence any test case would try to use 'delimited'.
I don't have an issue with saying that
encountering dfdl:lengthKind 'delimited' while parsing but having
no delimiters in scope, is an SDE. It's almost certainly an indication
the model is wrong.
Regards
Steve Hanson
Architect, Data Format Description Language (DFDL)
Co-Chair, OGF
DFDL Working Group
IBM SWG, Hursley, UK
smh@uk.ibm.com
tel:+44-1962-815848
From:
Mike Beckerle <mbeckerle.dfdl@gmail.com>
To:
dfdl-wg@ogf.org
Date:
21/06/2012 13:20
Subject:
[DFDL-WG] test
case length_delimited_12_03
Sent by:
dfdl-wg-bounces@ogf.org
IBM published a set of test cases for DFDL. One of them is length_delimited_12_03.
I want to discuss whether this is in fact the behavior we want for DFDL.
In this example, there is data "abcde", and the default format
is lengthKind="delimited", but no delimiters are defined anywhere.
<!-- parent with
specified length -->
<xs:element
name="myStringSeq2"
dfdl:lengthKind="explicit"
dfdl:length="5">
<xs:complexType>
<xs:sequence
dfdl:initiatedContent="no"
dfdl:separatorPosition="infix"
dfdl:sequenceKind="ordered"
dfdl:separator=""
>
<xs:element
name="Test1"
type="xs:string">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
The only way for this to parse is for the inner element Test1 to be delimited
by the end-of-data coming from the explicit surrounding box created by
the myStringSeq2.
I thought this should be a SDE because no delimiter is defined anywhere.
I see that it can work, if we adopt a policy that delimited, but with no
delimiters, means delimited by end-of-available-data.
But, I thought that is what lengthKind="endOfData" is for.
Can anyone comment as to why the lengthKind="delimited" but with
no delimiter strings defined should NOT be an SDE?
--
dfdl-wg mailing list
dfdl-wg@ogf.org
https://www.ogf.org/mailman/listinfo/dfdl-wg
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU