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(a)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