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 HansonIBM 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