Mike
If there is a mandatory delimiter
missing, then end-of-data will cause an error. It is not a substitute for
a mandatory delimiter.
But 'delimited' will work ok when end-of-data
found and the delimiter is not mandatory. I can think of three such examples:
- no terminating markup in scope at
all
- last element in sequence and separatorPosition
is not 'postfix'
- last element in sequence and terminator
but documentFinalTerminatorCanBeMissing 'yes'
Regards
Steve Hanson
Architect, IBM 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:
01/05/2013 07:05
Subject:
[DFDL-WG] when
does lengthKind='delimited' accept EOF instead of a
terminator.
Sent by:
dfdl-wg-bounces@ogf.org
The exact semantics of lengthKind='delimited' are a little bit unclear
to me.
Are there situations where we accept end-of-data as a substitute for finding
a delimiter?
Consider this:
<element name="foo" type="xs:string" dfdl:lengthKind="delimited"
dfdl:initiator="[START]" dfdl:terminator="[END]"/>
I think this string should always cause a processing error: "[START]
some data ". That is, the [END] terminator is not present, instead
one runs out of data.
So what exactly are the situations where delimited length kind will not
find a delimiter, hit end-of-data, and be ok with it?
I understand that hitting end-of-data might cause a backtrack for resolving
points of uncertainty, but is there ever a case where running out of data
is accepted as a substitute for finding a delimiter? (I am hoping the answer
here is no, but I am asking because I am not certain.)
--
Mike Beckerle | OGF DFDL Workgroup Co-Chair | Tresys Technology | www.tresys.com
--
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