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