Yes. If either dfdl:initiator or dfdl:terminator is not empty string, meaning there will be an initiator or terminator in the data, then dfdl:emptyValueDelimiterPolicy must be specified to describe whether they are present, in case the element appears in the data as 'empty', meaning content is zero-length. Whether an element can actually appear in the data as empty depends on how it is modelled. In COBOL data where everything is dfdl:lengthKind 'explicit', the data content can never be empty otherwise the format breaks. But in CSV data, the data content can be omitted entirely without breaking the format.

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:        "Garriss Jr., James P." <jgarriss@mitre.org>
To:        "dfdl-wg@ogf.org" <dfdl-wg@ogf.org>,
Date:        30/05/2013 20:37
Subject:        [DFDL-WG] emptyValueDelimiterPolicy clarification
Sent by:        dfdl-wg-bounces@ogf.org




This property specifies whether the initiator/terminator must be present if the element is empty.  But the mere presence of this property does not specify that the element can be empty, right?  IOW, I still have to describe that the element can be empty.  That right?--
 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