
Open Grid Forum: Data Format Description Language Working Group OGF DFDL Working Group Call, December-04-2009 Attendees Suman Kalia (IBM) Steve Hanson (IBM) Alan Powell (IBM) Steve Marting (Progeny) Peter Lambros (IBM) Stephanie Fetzer (IBM) Apologies Mike Beckerle (Oco) 1. 045 Resolving points of uncertainty - Disciminators Continued discussion of semantics of discriminators and arrays. Agreed that discriminator do apply to all points of uncertainty not just choices. Further discussion on applying to arrays. It was suggested that discriminators on a repeating element resolves just that existence of the element not the existence of the array. We need a fully worked proposal to progress. 2. Clarification of postfix separators, terminators,finalTerminatorCanBeMissing Tim pointed out an inconsistency between the terminators and separators even though they are very similar. The last terminator can be missing if dfdl:finalTerminatorCanBeMissing is set. The last separator is optional for dfdl:separatorPolicy='postfix' Proposal: - Last 'postFix' separator is not optional - Terminators are mandatory. - A new property allows the final terminator or separator to be missing. FinalDelimiterCanBeMissing was suggested. Or define a new entity '%#EoD' end of data which could be used as an alternative terminator/separator. Further discussion is needed. Action raised 3. 045 - parsing rules for determining length It was agreed that escaping is enabled by dfdl:escapeSchemeRef irrespective of dfdl:lengthKind. 4. Arrays
From Steve H email Further discussion on array processing:
4) occursCountKind="expression". Is it a processing error if the number of occurrences in the data does not match the value of the expression? Agreed: it is a processing error. 5) occursCountKind="useAvailableSpace". On unparsing, unused space should be padded with dfdl:fillByte (added below). But if the number in the infoset is a lot less than the box can hold, how do you know when re-parsing how many are in the box? Also, if we are trying to fit things into a box, does it matter if items are left over? I suggested this was an error below. Need Mike's input as he has seen the use cases for this. Needs more discussion 6) Rename dfdl:separatorPolicy="required" to "always". Agreed 5. Does the parser/serializer have to start on a global element? Discussed whether it should be possible to start the DFDL processor at any element within a schema rt=ather than just a global element. This would be helpful for tooling to, for example, create examples data for parts of the schema. It was also noted that it would be helpful to tooling, especially importers, if the global elements that could be roots of messages where known. This had been discussed during scoping discussions. ACTION It was also questioned whether the SCD syntax was usable as an external root designator. 6. Go through remaining actions Updated below 7. Test suite for DFDL IBM still investigating if its test case format can be made public. 8. Plan to finish DFDL v1 Draft 037 will be available today or Monday Alan has received a document defining the OGF approval process. There are two stages 1. to bring a document to proposed recommendation 2. At least 6 months later, to bring it to approved recommendation. The schedule will be updated with both stages and when new drafts will be available. Updated straw man schedule Activity Schedule Who Resolve Action items - 23 Nov 2009 WG Write up work items 16 Nov - 4 Dec 2009 AP Restructure and complete specification 23 Nov - 4 Dec 2009 AP WG review 7 Dec - 18 Dec 2009 WG Incorporate review comments 4 Jan - 29 Jan 2010 AP + OGF Editor Review / Incorporate changes 1 Feb - 1 Mar 2010 OGF OGF Public Comment period (60 days) 1 Mar - 30 Apr 2010 OGF OGF 28 Munich 15-19 March 2010 Meeting closed, 15:30 Next call 09 December 13:00 UK Next action: 071 Actions raised at this meeting No Action 068 Should the roots of messages be designated.? 069 Is the SCD syntax usable as a DFDL external. 070 Clarification of postfix separators, terminators,finalTerminatorCanBeMissing Current 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. 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. 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 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. 064 MB/SH Request WG presentation at OGF 28 25/11: Session requested 04/12: no update 065 Resolve parsing rules for various lengthKinds 25/11: Agreed dfdl:lengthKind define how to extract the data. Didn'r t discuss if this changes escaping. 04/12: Closed 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 068 Should the roots of messages be designated.? 069 Is the SCD syntax usable as a DFDL external. 070 Clarification of postfix separators, terminators,finalTerminatorCanBeMissing Closed actions No Action 012 AP/SH: Update decimalCalendarScheme 10/9: Not allocated yet 17/9: No update 24/9: Add calendar binary formats to actions 22/10: No progress 16/1: proposal distributed and discussed. Will be redistributed 21/1: add locale, 04/02: changed from locale to specific properties 18/2: Need more investigation of ICU strict/lax behaviour. 08/04: Not discussed 22/04: AP to complete asap once the ICU strict/lax behaviour is understood. 29/04: No progress 06/05: No progress 13/05: Calendar has been added to latest spec version v034 but still a few details to clarify. 20/05: No Progress ... 09/06: No Progress (low priority) 17/06: SH to check ICU code for lax calendar behaviour 24/06: no progress ... 12/08: no progress 19/08: Inconsistencies are being found in ICU behaviour so Calendars need reviewing again. 26/08: Specific three character short time zones may not be maintained during round tripping when there is more than one short form for a time zone offset. Because dates and datetimes in the infoset only maintain a time zone offset so on unparsing it isn't possible to say which short form will be selected for a particular offset when there is more than one possible. Need to document. 09/09: no progress ... 14/10: no progress 21/10: Will produce a list of known issues. 28/10: Discussed ICU farctional seconds behaviour. SF to send latest understanding. 04/11: no progress 11/11: no update 18/11: no update 25/11: no update 04/12: Steve and Alan have been through the known problems. One issue is how many digits fractional second should support. ICU only supports milliseconds but allows up to 6 S pattern characters to be specified. DFDL will follow this approach but will document the behaviour of rounding etc... Closed 063 Write DFDL primer and test cases. 11/11: no update 25/11: no update 04/12: Should become a work item 067 25/11:Investigate problem tracking tools. 04/12: Agreed to use the gridforge Tracker tool. 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 033 Numeric data - what physical reps are allowed for what logical types (from action 020) 037 done 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 051 Revised scoping rules (from action 051) 037 done 058 textPadCharacter %#rxx limitation and split to textxxxxPadCharacter 037 done 059 limit terminatorCanBeMissing to last element in schema. Ignore elsewhere. 037 done 060 New empty string semantic for dfdl:binaryBooleanTrueRep 037 done 061 Change maxOccurs violations from processing error to validation error (if not 'fixed') 037 done 062 Drop calendarUseZForUTC. describe zU, IU and TU symbols 037 done 063 DefineFormat can contain only one active format. Drop baseFormat 037 done 064 Define how encoding, byteorder and floating point format externally 037 done 065 Refactor dfdl:textNumberFormat to remove dfdl:numberBase. 037 done 066 document scope of selectors 037 done 067 document floating evaluation order 037 done 068 change dfdl:length to dfdl:representationLength and dfdl:lengthWithoutPadding to RepresentationLengthWithoutParsing done 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". 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