[DFDL-WG] clarification needed: section 14.2.1 potentially trailing group

Mike Beckerle mbeckerle.dfdl at gmail.com
Wed Mar 28 17:42:51 EDT 2018


Section 14.2.1 introduces the term "potentially trailing group". It is
referred to only in the next paragraph which defines "Trailing or Actually
Trailing".

Presumably this was done because it was intended that separator suppression
would consider a potentially trailing group to have some separator
suppression behavior.

However, all subsequent discussion of separator suppression I find
discusses only separators between elements.

So we should either drop "potentially trailing group" and its definition,
and modify the definition of "Trailing or Actually Trailing" to specify
only elements.... or fix everyplace where things are specific to elements
to refer to terms (term meaning element or model group).

I suggest it is ok to eliminate "potentially trailing group".

First, it simplifies things.
If you want separator suppression behavior, well it applies only to
potentially trailing things, and those things must be elements.
Since only elements can be optional (only elements can have min/max occurs
in DFDL), this means if you want separator suppression behavior, the
separated things must be elements, period.

Any model group, regardless of whether it has framing syntax, zero-length,
whatever, would be considered required, and elements prior to it within a
sequence group could not be considered potentially trailing and so
separatorSuppressionPolicy would never result in suppression.

I do not think we lose any expressive power in DFDL by requiring separator
suppression to work only on elements. It perhaps requires you to put an
element decl around something you might not want to. But there are lots of
things in DFDL that require use of extra tiers of elements.

Daffodil does not implement potentially trailing model groups, or if it
does, it's super buggy.  DFDL4S is binary only so doesn't have this stuff.

What does IBM DFDL do here? Do you allow a sequence like:

<sequence>
    optional element A
    optional element B
     <sequence>
         optional element C
     </sequence>
    optional element D
</sequence>

to have separator suppression that applies to elements A and B, or only to
element D ?


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
<http://www.ogf.org/About/abt_policies.php>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ogf.org/pipermail/dfdl-wg/attachments/20180328/52f35203/attachment.html>


More information about the dfdl-wg mailing list