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