[DFDL-WG] Minutes for OGF DFDL Working Group Call, December-09-2009

Alan Powell alan_powell at uk.ibm.com
Thu Dec 10 09:47:40 CST 2009


Open Grid Forum: Data Format Description Language Working Group

OGF DFDL Working Group Call, December-09-2009

Attendees
Mike Beckerle (Oco)
Suman Kalia (IBM)
Steve Hanson (IBM)
Alan Powell (IBM)
Steve Marting (Progeny)
Peter Lambros (IBM)
Stephanie Fetzer (IBM)
Tim Kimber (IBM)

Apologies


1.        045  - Disciminators
Steve H, Tim and Alan had done some investigation of applying WTX 
component rules semantic to DFDL and developed the following rules

A dfdl:discriminator resolves the presence of its parent group (sequence 
or choice). Note this isn't necessarily a point of uncertainty 
If the parent group is the content model for a complex types then the 
instance of the element of the complex type also exists (that is: if the 
group is only defining the content of a complex element then the 
discriminator propagates from the group to the element automatically)

That is discriminators apply to parents rather than points of uncertainty. 
 Discriminations must be explicitly propagated upward.

Alan will document some examples.


2.        Clarification of postfix separators, 
terminators,finalTerminatorCanBeMissing

Discussed last weeks suggested solution and decided that a single property 
was not sufficient as a sequence could have a separator and terminator. 
Also the separator is on the squence but the terminator is on the element.
Most didn't like the new entity as with would have to be put on multiple 
optional elements at the end of a sequence.
Given that the main use case is missing CR LF at the end of a file it was 
agreed that it should really be a 'global' flag that means 'the last 
'terminator/separator in the data stream' can be missing. DFDL doesn't 
have any way to set  'global' properties. Decide to have 2 new properties 
that only apply to 'root' global elements.

Proposal:
- Last 'postFix' separator is not optional
- Terminators are mandatory.
- dfdl:documentFinalTerminatorCanBeMissing - the last terminator in the 
data stream may be missing. Is only examined when a global element is a 
child of xs:schema
- dfdl:documentFinalSeparatorCanBeMissing - the last separator in the data 
stream may be missing.  Is only examined when a global element is a child 
of xs:schema

3.        Arrays 

The use case for occursCountKind="useAvailableSpace" is when the length of 
the parent is set to match the space taken by repeating elements. 
Therefore the length of the parent always matches the length of the 
children. For fixed length elements this can be easily calculated. For 
variable length elements this is not possible. Agreed that it was not a 
common use case so will drop  occursCountKind="useAvailableSpace".

4.        Does the parser/serializer have to start on a global element? 
-  Should the root global elements be designated in DFDL? 
It was agreed that it would be helpful for tooling, importers, etc to know 
which elements are possible 'root' elements even though XML doesn't have 
this capability.
A new property, dfdl:documentRoot,  will be defined that can only be on 
global elements.

-  Is the SCD syntax usable to indicate 'starting' element to dfdl 
processor 
The DFDL spec does not have to define the format of parameters to the DFDL 
processor but will indicate that it must be possible to adresss any 
element.

-  Does the 'starting' element need to be a global element 
Agreed that ANY element within the schema cane be the starting point for 
parsing or unparsing.

5.         Semantics of  dfdl:lengthKind 'delimited' 

The definition of delimited does need extending to cover the last element 
being terminated by the
parent 'box'

 'delimited' means the item is delimited by the item?s terminator (if 
specified) or an enclosing construct?s separator or the end of the 
enclosing construct designated by its known length or its terminator.  

The definition of EndOfParent also needs improving.

6.         UPA checks 
Steve H took us through his investigation of UPA checks. Only 2 apply to 
DFDL
- Choice branches
- Element declarations where minOccurs <> maxOccurs
These can be fixed by making element names unique.
DFDL will treat UPA failures as schema definition errors. 

7.         Go through remaining actions 
Updated below 

8.        Plan to finish DFDL v1 
Discussed terminaology briefly.

Reworked plan 

Activity

Schedule
Who
Complete Action items 

             - 18 Dec 2009 
 WG 
Complete Spec 
Write up work items 
            ? 23 Dec 2009 
AP 
Restructure and complete specification 
              - 23 Dec 2009 
AP 
Issue Draft 038 
23 Dec 2009

WG review 
WG review 
7 Dec ? 08 Jan 2010 
WG 
Incorporate review comments 
4 Jan - 29 Jan 2010 
AP + 
Issue Draft 039 
15 Jan 2010

Incorporate review comments 
4 Jan - 29 Jan 2010 
AP + 
Issue Draft 040 
29 Jan 2010

Initial OGF Editor Review 
Initial Editor review 
1 Feb - 1 Mar 2010 
OGF 
Initial GFSG review 
1 Feb - 1 Mar 2010

Issue Draft 041 
1 Mar 2010

OGF Public Comment period (60 days) 

1 Mar - 30 Apr 2010 
OGF 
OGF 28 Munich 

15-19 March 2010 

Incorporate comments 
Incorporate comments 
28 May 2010

Issue Draft 042 
28 May 2010

Final OGF Editor Review 
Final  Editor review 
June  2010 
OGF 
final GFSG review 
June  2010

Issue Final specification 
30 June 2010

Publish proposed recommendation 

1 July 2010





Grid recommendation process 

1 Jan - 1 April 2011





Meeting closed, 15:00

Next call 16 December 13:00 UK


Next action: 071
Actions raised at this meeting

No
Action 








Current Actions:
No
Action 


045
20/05 AP: Speculative Parsing
27/05: Psuedo code has been circulated. Review for next call
03/06: Comments received and will be incorporated
09/06: Progress but not discussed
17/06: Discussed briefly
24/06: No Progress
01/07: No Progress
15/07: No progress. MB not happy with the way the algorithm is documented, 
need to find a better way.
29/07: No Progress 
05/08: No Progress. Will document behaviour as a set of rules.
12/08: No Progress 
...
16/09: no progress
30/09: AP distributed proposal and others commented. Brief discussion AP 
to incorporate update and reissue
07/10: Updated proposal was discussed.Comments will be incorporated into 
the next version.
14/10: Alan to update proposal to include array scenario where minOccurs > 
0
21/10: Updated proposal reviewed
28/10: Updated proposal reviewed see minutes
04/11: Discussed semantics of disciminators on arrays. MB to produce 
examples
11/11: Absorbing action 033 into 045.  Maybe decorated discrminator kinds 
are needed after all. MB and SF to continue with examples. 
18/11: Went through WTX implementation of example. SF to gather more 
documentation about WTX discriminator rules.
25/11: Further discussion. Will get more WTX documentation. Need to 
confirm that no changes need to Resolving Uncertainty doc.
04/11: Further discussion about arrays.
09/12: Reviewed proposed discriminator semantic.
049
20/05 AP Built-in specification description and schemas
03/06: not discussed
24/06: No Progress
24/06: No Progress (hope to get these from test cases)
15/07: No progress. Once available, the examples in the spec should use 
the dfdl:defineFormat annotations they provide.
...
14/10: no progress
21/10: Discussed the real need for this being in the specification. It 
seemed that the main value is it define a schema location for downloading 
'known' defaults from the web. 
28/10: no progress
04/11: no progress
11/11: no update
18/11: no update
25/11: Agreed to try to produce for CSV and fixed formats
04/12: no update
09/12: no update
056
MB Resolve lengthUnits=bits including fillbytes
12/08: No Progress
...
28/10: no progress
04/11: MB to look at lengthUnits = bits
11/11: no update
18/11: no update
25/11: no update
04/12: no update. ALan will set up a separate call to progress this 
action.
09/12: no update. ALan will set up a separate call to progress this 
action.
064
MB/SH Request WG presentation at OGF 28
25/11: Session requested
04/12: no update
09/12: no update
066
Investigate format for defining test cases
25/11:IBM to see if it is possible to publish its test case format.
04/12: no update
09/12: no update







Closed actions
No
Action 
037
All: Approach for XML Schema 1.0 UPA checks.
22/04: Several non-XML models, when expressed in their most obvious DFDL 
Schema form, would fail XML Schema 1.0 Unique Particle Attribution checks 
that police model ambiguity.  And even re-jigging the model sometimes 
fails to fix this. Note this is equally applicable to XMl Schema 1.1 and 
1.0. While the DFDL parser/unparser can happily resolve the ambiguities, 
the issue is one of definition. If an XSD editor that implements UPA 
checks is used to create DFDL Schema, then errors will be flagged. DFDL 
may have to adopt the position that: 
a)DFDL parser/unparser will not implement some/all UPA checks (exact 
checks tbd)
b) XML Schema editors that implement UPA checks will not be suitable for 
all DFDL models
c) If DFDL annotations are removed, the resulting pure XSD will not always 
be valid (ie, the equivalent XML is ambiguous and can't be modelled by XML 
Schema 1.0)
Ongoing in case another solution can be found.
29/04: Will ask DG and S Gao for opinion before closing
06/05: Discussed S Gao email and suggestions. Decided need to review all 
XML UPA rules and decide which apply to dfdl.
20/05: SH or SKK to investigate
27/05: No Progress
03/06: The concern is that some dfdl schemas will fail UPA check when 
validation is turned on or when editted using tooling that enforces UPA 
checks. Renaming fields will resolve some/most issues. Need documentation 
that  describes issue and best practice.
17/06: no change
24/06: no change
01/07: no progress
...
12/08: No Progress (lower priority)
19/08: Clarify that this action is to go through the XML UPA checks to 
assess impact on dfdl schemas and advice best practice. Name clashes is 
just one example. SH or SKK
26/08: No Progress (lower priority)
09/09: no progress
...
04/11: no progress
11/11: Steve has started to look at this. He has requested a 'consumable' 
definition of the UPA rules from the XSD WG members. Even non-normative 
Appendix H in the XSD 1.0 spec is hard to consume.
18/11: no update
25/11: Steve H has not found simpler definition so may just go through 
them.
04/12: Steve has received a simpler description from S Gao and will go 
though each check.
09/12: Only 2 UPA apply to DFDL. These will be treated as errors
Closed
070
Clarification of postfix separators, 
terminators,finalTerminatorCanBeMissing
09/12: - Last 'postFix' separator is not optional
- Terminators are mandatory.
- dfdl:documentFinalTerminatorCanBeMissing
- dfdl:documentFinalSeparatorCanBeMissing 
Closed
068
Should the roots of messages be designated.?
09/12: Yes. New dfdl:documentRoot property
Closed
069
Is the SCD syntax usable as a DFDL external.
09/12:  DFDL does not need to define the syntax of processor properies
Closed



Work items:
No
Item
target version
status
005
Improvements on property descriptions 

not started
011
How speculative parsing works (combining choice and variable-occurence - 
currently these are separate) (from action 045)

awaiting completion of actions 045  
012
Reordering the properties discussion: move representation earlier, improve 
flow of topics 

not started 
036
Update dfdl schema with change properties 
ongoing

038
Improve length section including bit handling

some improvement in 036
042
Mapping of the DFDL infoset to XDM 
none
not required for V1 specification
069
ICU fractional seconds


070
Write DFDL primer 


071
Write test cases.


072
it is a processing error if the number of occurrences in the data does not 
match the value of the expression or prefix


073
Rename dfdl:separatorPolicy="required" to "always". 


074
- Last 'postFix' separator is not optional
- Terminators are mandatory.
- dfdl:documentFinalTerminatorCanBeMissing
- dfdl:documentFinalSeparatorCanBeMissing  (Action (70))


075
Remove occursCountKind="useAvailableSpace".


076
 dfdl:documentRoot,  will be defined that can only be on global elements.
The DFDL spec does not have to define the format of parameters to the DFDL 
processor but will indicate that it must be possible to adresss any 
element.
Agreed that ANY element within the schema cane be the starting point for 
parsing or unparsing.


077
 'delimited' means the item is delimited by the item?s terminator (if 
specified) or an enclosing construct?s separator or end of the enclosing 
construct designated by its known length or its terminator.  
The definition of EndOfParent also needs improving.


078
document UPA checks






Alan Powell

 MP 211, IBM UK Labs, Hursley,  Winchester, SO21 2JN, England
 Notes Id: Alan Powell/UK/IBM     email: alan_powell at uk.ibm.com 
 Tel: +44 (0)1962 815073                  Fax: +44 (0)1962 816898






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/20091210/7d2f8204/attachment-0001.html 


More information about the dfdl-wg mailing list