Whether to add a zero-length string or hexBinary to the infoset for an optional element depends on the setting of emptyValueDelimiterPolicy. A setting of 'none' stops it from being added.

Regardless, it does not give a processing error, so is therefore known-to-exist, and therefore does not cause backtracking, so preserving discriminators and variables.

Regards
 
Steve Hanson

IBM Hybrid Integration, Hursley, UK
Architect,
IBM DFDL
Co-Chair,
OGF DFDL Working Group
smh@uk.ibm.com
tel:+44-1962-815848
mob:+44-7717-378890
Note: I work Tuesday to Friday




From:        Mike Beckerle <mbeckerle.dfdl@gmail.com>
To:        dfdl-wg@ogf.org
Date:        24/07/2018 15:15
Subject:        [DFDL-WG] clarification: on suppressed ZL string/hexBinary - do we keep variable assignments?
Sent by:        "dfdl-wg" <dfdl-wg-bounces@ogf.org>






In some situations we parse and get a successful zero-length parse for a string or hexBinary.

But because the occurrence is optional, we do NOT add an element to the infoset.

In that case, what happens to side-effects that occurred during the successful parse. There are two possible kinds of side-effects. Variables can be set, and a discriminator can be set to true.

It seems to me that if a discriminator is set, then that *must* be preserved, and in that case it would seem the variable settings should be retained as well.

Comments?

Mike Beckerle | OGF DFDL Workgroup Co-Chair | Tresys Technology | www.tresys.com
Please note: Contributions to the DFDL Workgroup's email discussions are subject to the OGF Intellectual Property Policy
--
 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