
Open Grid Forum: Data Format Description Language Working Group OGF DFDL Working Group Call, July 1 2009 Meeting opened, 14:00 UK Attendees Mike Beckerle (Oco) Alan Powell (IBM) Peter Lambros (IBM) Apologies Steve Hanson (IBM) Suman Kalia (IBM) Agenda: 1. Go through actions Actions updated below Major discussions listed here. Action 026 Envelopes and Payloads Use cases expanded to : 1.Input -value of syntax item comes from header and is used in the body 2.Input -value of the syntax item is found in the header and is used in the body but may change if the actual syntax used in the body changes 3.Input - no header. value of syntax item comes from first time used in the body and must be one of a known set and doesn't change. 4.Input - no header, value of syntax item comes from first time used in the body and may be changed if the actual syntax used in a following body changes 5.Output - value of sytnax item set in header infoset and is used throughout in the body 6 Output - no header.the default value syntax item is used throughout in the body Alternatively allowing syntax properties to be a list satisfies most of the use cases. SH to document. PL looking at variables. Action 042 Variables. The uses cases for variables refined to Variable markup - set once from document content (typically near start of document) Variable markup - set (possibly multiple times) based on first usage (eg first instance of separator determines separator character used) Values set externally - eg encoding, byteorder Parameterization of global entity - parameter set as fixed value or as expression Envelope/payload - payload markup/discriminator set by value(s) in envelope And the following aspects need to be defined Scoping of defineVariable naming/namespaces - include/import Unparsing Variable Type - enums Multiple setVariables in loops etc It was proposed that defineVariable is at schema level only and are global. (though need to go through uses cases to see if local needed also). Variables are name space qualified Variables can be set multiple times (needed for parameterization) PL to document Action 051 Scoping rules. New lexical scoping rules need to cover How parameterization works Global simple types dfdl;hidden AP had updated scoping presentation with to show the use of variables for parameter passing. Also showed impact on global simple types (dfdl properties not allowed) and dfdl:hidden. Implies that variables need to be set more than once. MB to review. ICU Decimal Number support. Investigation of ICU has identified that ICU is very lax when parsing decimal number and doesn't enforce the pattern. This has implications for numberCheckPolicy and lengthKind=implicit. It looks as though numberCheckPolicy='strict' is not enforceable on parsing. Suggest that we make this an unparsing property. LengthKind=implicict uses the numberPattern to determine the length of the data. Need to specify that only certain patterns that produce reasonable results will be supported. This length will be used to extract the data before applying the pattern. AOB There will be 2 calls next week Next call 7th adn 8th July 14:00 UK Scheduled for 2 hours Meeting closed, 15:00 UK Actions raised at this meeting No Action 054 ICU DecimalNumber behaviour 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 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. 029 MB: valueCalc (output length calculation) 08/04: Not discussed 22/04: Action allocated to MB, this is to complete the work started at the Hursley WG F2F meeting. 29/04: No progress 06/05: MB will have update for next call 13/05: MB will have update for next call 20/05: Some progress. will be circulated this week 27/05: MB circulated proposal and got comments. Will update and review on next call 03/06: Discussed proposal. MB to update dealing with uses cases raised. Options include a new lenghtKind='Reference' to make it easier to distinguish from fixed length case. Or use outputLengthCalc to separate calculation of parsing and unparsing length. 09/06: SH/AP proposal discussed and MB to document 17/06: MB to document proposal. Grammar updated and reviewed. Minor changes needed. 24/06: Grammar description was updated and approved. Need to describe new function. 01/07: MB to circulate grammar and document new XPATH function 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) 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 038 MB: Submit response to OMG RFI for non-XML standardization 22/04: First step is for MB to mail the OGF Data Area chair to say that we want to submit 29/04: MB has been in contact with OMG and will sunbit dfdl. 06/05: MB has prepared response to OMG. Will send DFDL sepc v033 20/05: Response has been sent to OMG based on v034 27/05: Awaiting response from OMG. 03/06: On hold 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 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. 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 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) 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 054 ICU DecimalNumber behaviour Closed actions: 027 SH: Property precedence tables 08/04: Not discussed 22/04: Two things missing from the existing precedence trees. Firstly, does not show alternates (eg, initiator v initiatorkind). Secondly, need a tree per concrete DFDL object (eg, element). SH to update. 29/04: No progress 06/05: SH is updating tables which will be ready for next call 13/05: SH emailed updated version. AP commented.. See minutes for issues and property changes. 20/05: Updated version circulated. Review before next call and be ready for vote. 27/05: Updated version circulated. more comments raised. 03/06: Further updates to clarify 'core'. Also identified missing design for outputMinLength 17/06: Being updated to include outputMinlength 24/06: Table now in maintenance mode. Move to work item 01/07: closed 052 Discriminator timing property 24/06: Need to add timing property to discriminator 24/06: Agreed. Should default to after. Closed 053 poistion() function 24/06: agreed to add 24/06: Agreed. Closed Work items: No Item target version status 003 Variables - ??, 2008 (Mike) 005 Improvements on property descriptions - ??, 2008 (All - split TBD) 006 Envelopes and Payloads (Steve) - Apr 30, 2008 007 (from draft 32) valueCalc (Mike) - ??, 2008 mostly complete 008 (from draft 32) Property precedence for writing (Steve) - under review 009 (from draft 32) Variable markup (Steve) - Mar 31, 2008 proposal needs writing up 011 (from draft 32) How speculative parsing works (combining choice and variable-occurence - currently these are separate) ??, 2008 (IBM) in progress 012 (from draft 32) Reordering the properties discussion: move representation earlier, improve flow of topics ??, 2008 (Alan) not started 027 Calendar schemes 034 032 Floating components 033 Changes from action 020 and 027 - renaming properties etc 035 Remove unorderedInitiated, add initiated content (a041) 036 Update dfdl schema with change properties (Suman) 037 Infoset text codepage 038 Improve length section 039 Change scoping of simple types (A 046) 040 Document outputMinLength (A027) 042 mapping of the dfdl infoset to XDM Not required for V1 specification 043 Document infoset data types (A043) 044 non-format scoping rules (A047) 045 Defer unresolvable choice. 046 Document properties for syntax ignore case, etc alternative to variable markup 047 Remove xs:any 048 Keep precedence tables up to date (SH) 049 Discriminator timing attribute 050 position() function 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