Open Grid Forum: Data Format Description Language Working Group

OGF DFDL Working Group Call, July 21-2010

Attendees

Steve Hanson (IBM)
Alan Powell (IBM)  
Stephanie Fetzer (IBM)
Tim Kimber(IBM)


Apologies
Mike Beckerle (Oco)
Suman Kalia (IBM)

1. Current Actions
Updated below

2. Alignment of children when forward references.

Expressions with forward references require caching of serialized output which is difficult when children have alignments that are greater that their parent.

Agreed that 'the alignment of a child must be less than or equal to the alignment of its parent'. This allows serializing parts of the tree without having to redo alignments.

3. teston/testoff dfdl expression functions.
Are these functions still needed. They were introduced to allow individual bits to be set in a byte. Steve to look at TLog and ISO 8583 formats that use existence flags to see if they are still required.

Meeting closed, 16:30

Next call  Wednesday  28 July  2010  15:00 UK  (10:00 ET)

Next action: 108

Actions raised at this meeting
No
Action
106
2. Alignment of children when forward references.
Expressions with forward references require caching of serialized output which is difficult when children have alignments that are greater that their parent.

Agreed that 'the alignment of a child must be less than or equal to the alignment of its parent'. This allows serializing parts of the tree without having to redo alignments. Closed
107
3. teston/testoff dfdl expression functions.
Are these functions still needed. They were introduced to allow individual bits to be set in a byte. Steve to look at TLog and ISO 8583 formats that use existence flags to see if they are still required.

Current Actions:
No
Action
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
...
17/02: IBM is willing in principle to publish the test case format and some of the test cases. May need some time to build a 'compliance suite'
24/03: No progress
03/03: Discussions have been taking place on the subset of tests that will be provided.
10/03: work is progressing
17/03: work is progressing
31/03: work is progressing
14/04: And XML test case format has been defined and is being tested.
21/04. Schema for TDML defined. Need to define how this and the test cases will be made public
05/05: Work still progressing
12/05: Work still progressing
02/06: Work still progressing on technical and legal considerations
...
21/07: work continues
085
ALL: publicize Public comments phase to ensure a good review..
14/04: see minutes
21/04: Press release, OMG and other standards bodies.
05/05: Alan and Steve H have contacted other standards bodies. Will ask them to add comments on spec
15/05: still no public comments
02/06: No public comments
16/06: Public comments period has ended with no external comments. Alan had posted changes made in draft 041. Steve suggested send a note to the WG highlighting these changes.  Steve also suggested requesting an extension as other IBM groups may review. We discussed whether this was necessary as changes will need to be made during the implementation phase anyway. Alan to ask OGF what the process is for changes post public comment.
23/06: Still no comments. Alan will contact OGF to understand the rest of the process.
30/06: Alan has emailed Joel asking what the process is now public comment period is over andcan we update the published version with WG updates. No response yet.
07/07: No response. Alan will chase up
14/07: No response from Joel. Sent email to Greg Newby by no response.
21/07: Still no response.
086
AP: Nils and Defaults during unparsing - update table
31/03: TK to documetn use cases for parsing
14/04: Investigate new property to control empty string behaviour.
21/04: After investigation a new property is not required. New rules developed and tables updated.
Need examples of complexTypes to confirm tables apply.
Review Nils, defaulting spec section.
05/05: Discussed defaulting complex elements. Tables updated but need to add terminator.
SH; to confirm WMD behaviour when infoset item has no value on unparsing
Need to describe defaulting choices.
15/05: More discussion. Alan updating sections
26/05: Discussed draft updates. Stephanie to confirm asserts do not make an element required.
Alan will update draft..  All: review rest of draft.
02/06: Alan updated description. Please review.
Discussed Stephanie's example using discriminators. Decided no changes needed.

16/05: went through Steves comments. Steve to update draft.
23/06: Steve's updates to the rules discussed. See minutes. Rest of document needs updating.
30/06: Discussed Alans updates. Some corrections. Alan will send out updated copy for review before next call.
07/07: Discussed Alan updates and Tim and Steve's comments. Still some corrections and updates.
14/07: Discussed Alan updates (v9) Still some corrections and updates.
21/07: Discussed Draft 10. Shouldn't mention input/outputValueCalc in this section. Mention defaulting in calculated values section.
Move details of nilValue from nilKind property.
099
Splitting the specification in simpler sections.
07/07: Steve sent a proposal but not discussed. Alan will arrange a separate call.
14/07:Discussed Steve's proposal and Suman's and Alan's comments.
Need to add choice, validation, facets.
Also how does an implementation declare which subsets it supports. Suggested levels and/or profiles. Steve highlighted a problem when a DFDL schema from an implementation of just the core functions was moved to a full DFDL implementation what should happen about the missing properties. Does the full implementation need to be aware of subsets of functions? Should it raise a schema definition error for use of a function not in the subset.
21/07: no progress
101
Semantics of 'fixed'
21/07: Discussed whether not matching the 'fixed' value should be a validation error or processing error. Decided that for consistency it should be a validation error.
It would be useful however to avoid having to duplication of facet information in an assert which could become unwieldy for, say, a large enumeration.
Suggestions
- a parser option that 'converted all validation errors to porcessing errors'
- a dfdl expression function that  'applied all facets' or 'applied specific facet' to a particular element.
Stephanie will proce some examples of how this could be used.
102
Clarify the specification of error reporting from a DFDL processor
- section 2.3 needs to be updated

21/07: Section is not clear. Alan will update.
103
Asserts and discriminators
- specify the scope of forward references. Must be downward-only. The expression must be resolvable by the time the component on which it is positioned goes out of scope - otherwise it is a processing error.

21/07: Agreed
104
Expressions
Discuss error behaviour when evaluating an expression in various contexts

- All properties:

wrong type returned : schema definition error

exception when evaluating expression : schema definition error

referenced variables/paths not available : schema definition error

- Properties which allow a forward reference

referenced variables/paths not available : no error. DFDL processor continues processing until the expression result is available, then acts on the result.

21/07: Steve stated the current definition that returning the incorrect type was a schema definition error and everything else was a processing error.
107
teston/testoff dfdl expression functions.
Are these functions still needed. They were introduced to allow individual bits to be set in a byte. Steve to look at TLog and ISO 8583 formats that use existence flags to see if they are still required.

Closed actions
No
Action
105
Grammar for DFDL expression
- currently allows multiple predicates on a single expression. Sounds as if this was unintended.

21/07: Current definition is incorrect: Will delete predicateList from the grammar and replace with predicate. Closed
106
2. Alignment of children when forward references.
Expressions with forward references require caching of serialized output which is difficult when children have alignments that are greater that their parent.

Agreed that 'the alignment of a child must be less than or equal to the alignment of its parent'. This allows serializing parts of the tree without having to redo alignments. Closed

Work items:
No
Item target version status
005
Improvements on property descriptions not started
012
Reordering the properties discussion: move representation earlier, improve flow of topics not started
036
Update dfdl schema with change properties ongoing
042
Mapping of the DFDL infoset to XDM none not required for V1 specification
070
Write DFDL primer
071
Write test cases.
083
Implement RFC2116
105
AP: Describe trailingSkipBytes for delimited formats.
Alan suggested 'dfdl:terminator must be specified and not empty if dfdl:lengthKind is delimited or endOfParent.'
106
AP: Skip Bytes should allow bits
Ageed that it should be possible to specify bits.
- LSB and TSB renames to dfdl:leadingSkip, dfdl:trailingSkip
- units are specified by dfdl:alignmentUnits.
107
Remove timing from dfdl:assert
108
AP: Confirm behaviour of defaulting with various occursCountKinds and separator policies.
30/06: Decided that defaulting for variable occurrence arrays should always be to minOccurs. If separatorPolicy is 'required' then just the separators will be output up to maxOccurs and unbounded is an error.
109
define semantics of choiceKind 'fixedLength'
dfdl:choiceKind becomes dfdl:choiceLengthKind with emuns 'implicit' (length of selected branch) and 'explicit' ( length specified by dfd;choiceLength)
New property dfdl:choiceLength
110
nilIndicatorPath and nilIndicatorIndex properties
14/07: As part of nils default discussion the WG decided to drop dfdl:nilIndicator and dfdl:nilIndicatorIndex
111
AP: using textStringPadCharacter with charRef '%#r' on multi-byte encoding
14/07: Although there was some merit in having separate textPadKinds it was felt it was too late to make the change. The property descriptions (for numbers, calendars and booleans as well) will be improved. Closed
112
Alignment enumerations when dfdl:lengthUnits = 'bits'
When alignmentUnits='bits', the rule that alignment must be 1,2,4,8 etc or multiple of 2 looks rather hard to justify.
It was agreed to remove the restriction on aligmentUnits for both 'bytes' and 'bits'. Closed
113
Grammar for DFDL expression
- currently allows multiple predicates on a single expression. Sounds as if this was unintended.

21/07: Current definition is incorrect: Will delete predicateList from the grammar and replace with predicate. Closed
114
2. Alignment of children when forward references.
Expressions with forward references require caching of serialized output which is difficult when children have alignments that are greater that their parent.

Agreed that 'the alignment of a child must be less than or equal to the alignment of its parent'. This allows serializing parts of the tree without having to redo alignments. Closed



 
Regards
 
Alan Powell
 
Development - MQSeries, Message Broker, ESB
IBM Software Group, Application and Integration Middleware Software
-------------------------------------------------------------------------------------------------------------------------------------------
IBM
MP211, Hursley Park
Hursley, SO21 2JN
United Kingdom
Phone: +44-1962-815073
e-mail: alan_powell@uk.ibm.com







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