
Open Grid Forum: Data Format Description Language Working Group OGF DFDL Working Group Call, Sept-30-2009 Attendees Mike Beckerle (Oco) Alan Powell (IBM) Suman Kalia (IBM) Steve Marting (Progeny) Steve Hanson (IBM) Tim Kimber (IBM) Apologies Peter Lambros (IBM) 1. %#rxx in TextPadCharacter It has been proposed that use of the raw entity should be restricted in textPadCharacter It was agreed that - dfdl:textPadCharacter only one byte raw entity (%#rxx) can be specified - dfdl:textPadCharacter must not be specified as a raw byte value if the code page is a variable-width code page. Also SH proposed that dfdl:textPadCharacter be split to allow a default be specified for each logical type in a similar way to dfdl:textxxxJustification. Approved dfdl:textPadCharacter will be split into dfdl:textStringPadCharacter, dfdl:textNumberPadCharacter, dfdl:textBooloeanPadCharacter, dfdl:textCalendarPadCharacter 2. finalTerminatorCanBeMissing It has been proposed to restrict the use of this property to the last field in a definition as the only known used case is missing terminator (typically <LF>) at end of file MB expressed concern that if the property was only allowed to be specified on the last element in the schema it would make it difficult for that definition to be reused. Agreed that dfdl:finalTerminatorCanBeMissing can be specified on any element but is ignore expect on the last element in the schema. 051 - New scoping rules There had been a number of emails from most of the members of the work group during the week, mostly expressing dissatisfaction with the new rules based on usability and lack of referential transparency. SKK expressed support for the new rules as he felt is was easier to implement tooling. After considerable debate which mainly re-evaluated previously suggested solutions. Need to be able to a. Set defaults for dfdl properties b. Allow the normal use of xs:include and xs:import to build schemas. c. Allow the applicable dfdl:properties on any given component to be easily discoverable. d. Be 'easy' for users to understand. The following proposal evolved. - A way to define dfdl property defaults at a schema level. Probably by a global dfdl:format annotation. The defaults apply to every component in the schema document. - The global defaults belong to the target namespace of the schem so follow normal schema composition rules. - dfdl properties on xs:complexType and xs:group do not put the properties in scope. - dfdl:properties on an element and its referenced simpleType are merged. It is an error if the same property is defined on the element and the referenced simpleType - dfdl:properties on an element do not override properties on its referenced complexType. dfdl:properties on a complex element effectively only apply to the syntax part of the element (initiator terminator, etc), - dfdl:properties on an element reference and its global element declaration are merged. It is an error if the same property is defined on the element reference and the element declaration. - dfdl:properties on an group reference and its global group declaration are merged. It is an error if the same property is defined on the group reference and the group declaration - variables can still be used for 'parameterization' but expected to be the exception. AP to write up proposal 045: Resolving points of uncertainty A brief discussion of AP proposal and subsequent comments. These were mostly clarification and expansions rather than disagreement. AP to incorporate comment and reissue. Next call 7 October 13:00 UK for 2 hours Meeting closed, 15:15 Actions raised at this meeting No Action Current 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 27/05: No Progress 03/06: No Progress (low priority) 09/06: No Progress (low priority) 17/06: SH to check ICU code for lax calendar behaviour 24/06: no progress 01/07: no progress 15/07: no progress 29/07: no progress 05/08: 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 16/09: no progress 30/09: no progress 033 AP/TK: Assert/Discriminator semantics. AP to document. TK to check uses of discriminator besides choice. 08/04: In progress within IBM 22/04: Waiting for TK to return from leave to complete. 29/04: TK has sent examples shown need for discriminators beyond choice. Agreed. MB to respond to TK 06/05: Discussed suggestion of adding type indicator to discriminator. MB to provide examples. 15/03: Semantic documented in v034. MB to provide examples of need for scope indicator on discriminator 20/05: MB to provide examples of need for scope indicator on discriminator (but lower priority than action 029) 27/05: No Progress (lower priority) .... 19/08: No Progress (lower priority) 26/08: No Progress (lower priority) 09/09: no progress 16/09: no progress 30/09: no progress 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 prgress 15/07: No Progress (lower priority) 29/07: No Progress (lower priority) 05/08: No Progress (lower priority) 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 16/09: no progress 30/09: no progress 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 19/08: No Progress 26/08: No Progress 09/09: no progress 16/09: no progress 30/09: AP distributed proposal and others commented. Brief discussion AP to incorporate update and reissue 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. ..... 19/08: No Progress (lower priority) 26/08: No Progress (lower priority) 09/09: no progress 30/09: no progress 051 Scoping rules. MB: to document change to scoping rules to satisfy implementation concerns 17/06: MB and SH proposals discussed. Needs further discussion 24/06: AP to update presentation with latest proosal 24/06: AP had updated presentation. MB to review 08/07: Discussed at length. Simple types will now take annotations. Variables will be used for parameters. 15/07: No further progress. Needs final write up. 29/07: No Progress 05/08: No Progress 12/08: No Progress 19/08: AP will document new syntax rules. 26/08: No Progress 09/09: AP has documented new scoping rules. Not discussed 16/09: Not disussed. AP to update element reference examples 30/09: Significant dissatisfaction with proposed new rules. New proposal developed during call. AP to document. 054 ICU DecimalNumber/ Calendar behaviour 15/07: No progress 29/07: No Progress. 05/08: No Progress. This action is to discover and document ICU behaviour. DFDL will do whatever ICU does. 12/08: No Progress 19/09: More examples of inconsistent behaviour discovered 09/09: no progress 16/09: no progress 30/09: no progress 056 resolve lenghtUnit=bits including fillbytes 12/08: No Progress 19/08: No Progress 26/08: No Progress 09/09: no progress 30/09: no progress 059 9/9: define how encoding, byteorder and floating point format externally 16/09: no progress Closed actions: 057 Decide semantics and enumeration for 'parsed' occursCountKind 26/08: Subsequent discussion agreed on 'parsed' Need to agree semantics 09/09: no progress 16/09: occursxxx applies to array and optional elements. occursCountKind enumeration agreed. Semantics of 'parsed' are 'parse as many as possible. 30/09: Closed Work items: No Item target version status 003 Variables (from action 042) 036 done 005 Improvements on property descriptions not started 006 Envelopes and Payloads (from action 026) 036 done 007 valueCalc (from action 029) 036 done 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) 036 ensure all behaviour documented 036 Update dfdl schema with change properties 038 Improve length section including bit handling some improvement in 036 042 Mapping of the DFDL infoset to XDM not required for V1 specification 051 Revised scoping rules (from action 051) 036 awaiting completion of action 051 052 add entity for 'one or more white space characters' 036 done 053 name, baseFormat, selector, escapeSchemeRef, textNumberFormatRef, textCalendarFormatRef, binaryCalendarFormatRef attributes only 036 054 Add occureCountKind='parsed' 036 done 055 Make dfdl:initiatedConet discriminating (from action 58) 036 done 056 bidi support (action 044) 036 done 057 Properties that take an expression (action 55) 036 done 058 textPadCharacter %#rxx limitation and split to textxxxxPadCharacter 057 limit terminatorCanBeMissing to last element in schema. Ignore elsewhere. 057 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