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

Steve Hanson smh at uk.ibm.com
Tue May 15 09:53:54 EDT 2018


Mike

I am not comfortable with removal of the concept of a potentially trailing 
group.  It is there to cope with the embedding of a group within a group. 
A concrete example where this might be useful is a CSV column which could 
either be a number or a string. It lets the modeller use a local choice in 
the complex element for the row, with the choice containing a number 
element and a string element, and for the properties of trailing separator 
suppression to be honoured. 

The problem as you say is the subsequent discussion and tables in sections 
14.2.2 and 14.2.3 which is all about elements.

Maybe the way to cope with the discussion and tables is using our 'source 
transformation' approach ?  Disappear the sequences & choices 
(recursively) and additionally for a choice disappear all but first 
element. 

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



From:   Mike Beckerle <mbeckerle.dfdl at gmail.com>
To:     dfdl-wg at ogf.org
Date:   28/03/2018 22:43
Subject:        [DFDL-WG] clarification needed: section 14.2.1 potentially 
trailing        group
Sent by:        "dfdl-wg" <dfdl-wg-bounces at ogf.org>




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
--
  dfdl-wg mailing list
  dfdl-wg at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ogf.org/pipermail/dfdl-wg/attachments/20180515/22eeb864/attachment-0001.html>


More information about the dfdl-wg mailing list