
Here's what we say about "implicit" in its various usages: For dfdl:lengthKind="implicit": ‘implicit means the length is to be determined in terms of the type of the element and its schema-specified properties if any. For binary representations of fixed-length numeric types (byte, short, int, long and their unsigned variants, float, double and any simple restrictions of these), dfdl:lengthKind='implicit' means the length (in bits) will match the maximum precision for the base type of the element. For example 32 bits for ‘int’ type (or anything derived from it), 64 bits for ‘long’ type, 8 bits for ‘byte’ etc. For simple type elements with text representations (including xs:string type elements) the XSD length information (length or maxLength facets) are used. For complex type elements that are sequences, 'implicit' means the length is determined by adding up the lengths of the contained children, plus that of any separators or other framing introduced by the sequence itself. for dfdl:calendarPattern='implicit': ‘implicit’ means the pattern is derived from the XML schema date/time type. for dfdl:alignment='implicit' ( my words ): 'implicit' means the number is aligned on a byte boundary using the natural size of the binary number based on its XML Schema simple type' for dfdl:choiceKind='implicit': When lengthKind='implicit' all alternative branches of the choice are padded to the fixed length of the largest one so that overall the entire choice construct is fixed length 1. I'm still not clear why 'parsed' is better than 'implicit'. It's a new keyword for DFDL, and seems to overlap a great deal with the meaning of 'implicit'. The justification given for 'parsed' seems to give undue emphasis to the simple type usage. If you look at all of the uses of 'implicit' listed above it has quite a wide range of meanings, but they can be summarized as: 'use the XML Schema definitions instead of the DFDL annotations' ( lengths of xs:string and binary numbers ) 'parse recursively to discover the implicit length' ( lengths of complex types and choices ) For dfdl:occursCountKind='implicit', the meaning would be 'use the XML Schema definitions instead of the DFDL annotations' ( xs:minOccurs / xs:maxOccurs instead of dfdl:occursCount/dfdl:stopValue) 'parse recursively to discover the implicit length of the array' ( use normal parsing rules until the end of the array is found ) 2. The assertion about dfdl:initiatedContent is wrong. If the array is initiated, the number of occurrences can be found using the normal speculative parsing rules. No need for the containing structure or the next sibling to be initiated. If we limit the usage of dfdl:initiatedContent, I think we will introduce inconsistencies in the way that users can control backtracking at a point of uncertainty. regards, Tim Kimber, Common Transformation Team, Hursley, UK Internet: kimbert@uk.ibm.com Tel. 01962-816742 Internal tel. 246742 ----- Forwarded by Tim Kimber/UK/IBM on 13/08/2009 13:58 ----- From: dfdl-wg-request@ogf.org To: dfdl-wg@ogf.org Date: 13/08/2009 13:17 Subject: dfdl-wg Digest, Vol 36, Issue 9 Send dfdl-wg mailing list submissions to dfdl-wg@ogf.org To subscribe or unsubscribe via the World Wide Web, visit http://www.ogf.org/mailman/listinfo/dfdl-wg or, via email, send a message with subject or body 'help' to dfdl-wg-request@ogf.org You can reach the person managing the list at dfdl-wg-owner@ogf.org When replying, please edit your Subject line so it is more specific than "Re: Contents of dfdl-wg digest..." Today's Topics: 1. Minutes for OGF DFDL Working Group Call, Aug-12-2009 (Alan Powell) ---------------------------------------------------------------------- Message: 1 Date: Thu, 13 Aug 2009 13:16:43 +0100 From: Alan Powell <alan_powell@uk.ibm.com> Subject: [DFDL-WG] Minutes for OGF DFDL Working Group Call, Aug-12-2009 To: dfdl-wg@ogf.org Message-ID: <OFE15B314F.603C9401-ON80257611.00434F4E-80257611.00437213@uk.ibm.com> Content-Type: text/plain; charset="us-ascii" Open Grid Forum: Data Format Description Language Working Group OGF DFDL Working Group Call, Aug-12-2009 Attendees Mike Beckerle (Oco) Alan Powell (IBM) Suman Kalia (IBM) Apologies Peter Lambros (IBM) Steve Hanson (IBM) Actions discussed and updated below. 1. Scoping element and group reference (Suman) Suman had emailed some examples of element and group references but these did not follow the proposed new scoping rules and parameterization. Suggest that PL uses these examples when completing Action 042 Variables. 2. New occursCountKind for when number of occurrences can be resolved by parsing. Agreed that this needs to be added. Following considered as new enumeration - 'implicit': rejected. Although dfdl:lengthKind='implicit' for complexTypes meant 'the length of the children' for simpleTypes it has the very strict meaning on used xs:length or xs:maxlength. - 'delimited' : rejected. dfdl:lengthKind='delimited' uses terminators and separators to determine length rather than initiators or other speculative parsing. - 'parsed': accepted. Although not ideal it was felt this most described the behaviour. It was also agreed that it wasn't necessary to add dfdl:initiatedContent fo arrays as for this to work the following element must also be initiated so the containing sequence would have dfdl:initiatedContent 3. Make dfdl:initiatedContent discriminating It was agreed to extend the meaning of dfdl:initiatedContent to make it discriminating when the content is optional. 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 026 SH: Envelopes and Payloads 08/04: Not discussed explicity, but recursive use of DFDL is tied up with this 22/04: Two aspects. Firstly compositional - do sufficient mechanisms exist to model an envelope with a payload that varies. Secondly markup syntax - this might be defined in the envelope. The second of these is very much tied up with the variable markup action 028, so will be considered there. SH to verify the composition aspect. 29/04: SH and AP working on proposal. related to Action 028 06/05: No progress 06/05: No progress 20/05: No Progress 27/05: Still a number of aspects to be decided. - Compostion - Does the envelope and payload need to be defined in the same schema or should they be dynamically bound at runtime? - Compostion- How is a variable payload specified. Choice or xs:any; New action raised to discuss xs:any - extracting dymanic syntax from data. Covered by action 029 valuecalc. 03/06: Dynamic runtime binding will not be supported. SH investigating use of variables to enable standalone and use in envelope of global element. 09/06: Payload should be specified using a choice rather than xs:any 17/06: SH still working on example using variables 24/06: SH to document how property list satisfies uses cases. 01/07: SH to document how property list satisfies uses cases. PL looking at variable also. MB suggested modelling first separator as data for use case 3. 15/07: Action 042 on variables now includes examples of enevlopes and payloads. SH will also circulate what he has agreed with WTX team. 29/07: no progress 05/08: see action 042 12/08: see action 042 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) 03/06: No Progress (lower priority) 09/06: No Progress (lower priority) 24/06: No Progress (lower priority) 01/07: No Progress (lower priority) 15/07: No Progress (lower priority) 29/07: no progress (lower priority) 05/08: No Progress (lower priority) 12/08: No Progress (lower priority) 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) 042 MB: Complete variable specification. To include how properties such as encoding can be set externally. Must be a known variable name. 06/05: No progress 20/05: AP to make proposal 27/05: MB proposed differentiating between input and output variables to avoid unnecessary evaluations during parse and unparse. Need to complete rest of variable specification. 03/06: Pointed out problem of declaring variables input or output when used to define syntax which is used both times. MB to update proposal to include how variables are set externally and how specific properties such as encoding are set. 09/06: SKK to use example to dicument his proposal 17/06: SKK to refine proposal. Other aspects need progress. 24/06: SKK proposal discussed but not accepted. PL to document simpler proposal. 07/01: PL working on proposal 15/07: PL has distributed his proposal. SH, MB and SKK have commented. Broad agreement in principle. Need to agree on better name for dfdl:variable to reflect the annotation's purpose. PL to update proposal. 15/07: No Progress 29/07: No Progress 05/08: SH and others had commented on Variables [Draft proposal - 20090715].doc. SH stated that fixOnMatch is not needed in dfdl v1.0 MB will document how to implement fixOnMatch behaviour with existing function. PL to update proposal 12/08: PL to update proposal with SKK examples. 044 13/05: Bidi 20/05: AP: will check what IBM products support. 27/05: Bidi is supported so will be needed in dfdl v1 03/06: No Progress 09/06: No Progress 24/06: No Progress 01/07: AP started investigation and documented issues. Suggest do whatever XML does. 15/07: No further progress 29/07: No Progress 05/08: AP has been in touch with IBM bidi experts. 12/08: 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 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. 29/07: No Progress (lower priority) 05/08: No Progress (lower priority) 12/08: No Progress (lower priority) 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 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 055 Document which properties can take an expression 12/08: AP has distributed proposed list of properties and wording 056 resolve lenghtKind=bits including fillbytes 12/08: No Progress Closed actions: Work items: No Item target version status 003 Variables (from action 042) 036 awaiting completion of action 042 005 Improvements on property descriptions not started 006 Envelopes and Payloads (from action 026) 036 awaiting completion of actions 026 and 042 007 valueCalc (from action 029) 036 ensure all aspects documented 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 not started 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 053 name, baseFormat, selector, escapeSchemeRef, textNumberFormatRef, textCalendarFormatRef, binaryCalendarFormatRef attributes only 036 054 Add occureCountKind='parsed' 036 055 Make dfdl:initiatedConet discriminating 036 Next call 19 August 14:00 UK Meeting closed, 15:00 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.ogf.org/pipermail/dfdl-wg/attachments/20090813/4ec1ac2a/attachmen... ------------------------------ -- dfdl-wg mailing list dfdl-wg@ogf.org http://www.ogf.org/mailman/listinfo/dfdl-wg End of dfdl-wg Digest, Vol 36, Issue 9 ************************************** 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