Open Grid Forum: Data Format Description Language Working Group
OGF DFDL Working Group Call, March 03-2010
Attendees
Suman Kalia (IBM)
Steve Hanson (IBM)
Alan Powell (IBM)
Steve Marting (Progeny)
Peter Lambros (IBM)
Stephanie Fetzer (IBM)
Tim Kimber(IBM)
Apologies
Mike Beckerle (Oco)
1. 16.2 scannablility with lengthKind pattern:
In summary, you can use a data pattern on any element (complex, simple
text, simple binary) as long as the bytes are legal in the stated
encoding, which where binary data is involved in practice means an 8-bit
ASCII encoding.
Binary data can be handled using some of the conveniences of text by way
of treating it as text with encoding="iso-8859-1". In this case literal
text, such as length patterns, is interpreted as in the iso-8859-1
character encoding, and the correspondence of byte values in the data to a
string in the DFDL infoset is one to one. That is, byte with value N,
produces an infoset character with character code N.
The WG agreed to the solution of recommending the use of "iso-8859-1" for
binary fields. The write-up should note that he main use case is for a
complex element that contains binary fields.
2. Current Actions:
Updated below
3 Steve H issues with draft 039
1) Name of property dfdl:textNumberRepresentation is not consistent with
dfdl:binaryNumberRep, dfdl:binaryFloatRep, etc.
Agreed
2) The dfdl:numberPattern etc properties that have been moved from the
defunct dfdl:textNumberFormat annotation to dfdl:element etc should be
called dfdl:textNumberPattern etc. Otherwise users will think they apply
to binary numbers too.
Agreed
3) In section 14.3 on sequences, there are several sub-sections that talk
about parsing according to different ways of specifying length (ie,
lengthKind). But dfdl:sequence no longer carries dfdl:lengthKind so I
think these sub-sections are not in the right place. I think they should
be in section 12, under the correct 12.3.x lengthKind sub-section.
MB has moved these sections
4) Section 19 on built-in specifications. Given that we don't have any for
public comment phase we should reword this section.
Agreed
4 Tim's (major) issues with draft 039
12.2 Delimiters: Text Markup
- The term 'Delimiters' is not accurate. Most readers will not think of
an initiator as a 'delimiter'.
- It's not 'Text' markup any more - especially since v0.39 has allowed
lengthKind="delimited" for elements with binary representation.
Title should be 'Markup' and explanation can then deal with what it really
is, rather than justifying the innaccurate title :-)
Will be changed to Delimiters - Add delimiters to glossary (DFDLlimits
delimiters to terminators and separator when dfdl:lengthKind=delimited)
Syntax for specifying markup:
It's not clear from this description that each item in the space-separated
list is a DFDL string literal.
Section 6.3.1 will be revised to separate string literals and dfdl
expressions etc.
If possible will add the list of property types (listof DFDL string
literals, etc) and update property tables
initiator ( and all other space-separated properties )
It is not clear whether the order of the space-separated properties
matters. Must the parser test them in the order in which they are
specified?
( Q: What if %ES; is the first in the list? )
The parser must look for the longest first. Unparsing will output the
first in the list.
The %ES entity should be not be allowed for initiator, separator and
terminator. Should probably be limited to use in nilValues but will check
whether it is useful in other properties..
occursStopValue should a value in the value space of the base type of the
array.
terminator:
is it OK if the final terminator is missing within the scope of a
known-length parent? Seems like a reasonable extension of the rule ( in
all other scenarios, the end of a known-length parent acts like the end of
the data stream for items with its scope ).
documentFinalTerminatorCanBeMissing:
Let's try to avoid creating another property for the postfix separator
scenario. I think this property provides a way of modelling the data
naturally.
We can recommend use of infix-with-a-terminator rather than 'postfix' if
the final terminator can be missing.
outputNewLine
Should we validate that the 'characterOrCharacters' are all newline
characters from the set described by the %NL; mnemonic? Otherwise the DFDL
serializer will output data which cannot be parsed by the DFDL parser.
Agreed
dfdl:lengthKind endOfParent
'endOfParent' has almost the same meaning as 'delimited' so should have
the same semantics.
· the item?s terminator (if specified)
· an enclosing construct?s separator or terminator
· the end of an enclosing construct designated by its known length
· the end of the data stream
The effect would be the the element could be ended by the nearest known
length parent not just the immediate parent. Also the immediate parent
could have lengthKind 'implicit'
Not discussed but emails indicate Agreed
choiceKind 'Fixed'
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
There must be a restriction that the length of at least one choice must be
statically defined.
Not discussed but emails indicate Agreed
5 DFDL v1 Specification completion.
Draft 40 will be published early next week. Will be sent to OGF next week
prior to OGF 28
Meeting closed, 14:10
Next call Wednesday 10 March January 2010 13:00 UK
Next action: 084
Actions raised at this meeting
No
Action
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
09/12: no update
16/12: reminded dent to project manager
23/12: SH will send another reminder.
06/01: Another reminder will be sent
13/01: no update
20/01: no update
27/01: no progress
29/01: no progress
03/02: IBM is still investigating
10/02: IBM is still investigating
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.
080
AP:Clarify semantics of fn:poisition and fn:count
17/02: no progress
24/03: No progress
03/03: no progress. There are other functions which return a duration
which need investgating
Closed actions
No
Action
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
09/12: no update
16/12: no update
23/12: no update
06/01: no progress. If there is no resource to complete this action it can
be deferred
13/01:no progress
20/01: no progress
27/01: no progress
29/01: No progress. The predefined formats do not need to be available
when the spec is published.
Suman said that he had been mapping COBOL structures to DFDL and it didn't
look as though the way text numbers are define is very usable. He will
document for next call
03/02: No progress
10/02: No progress
17/03: No progress
24/03: No progress
03/03: The wording of this section will be changed to say that
'implementations may choose to provide predefined formats. The DFDL WG
intends to supply a limited set'
Closed
079
MB:Encoding for binary fields when lenghtkind is pattern
17/02: Discussed but no conclusion
24/03: Mike has found an encoding that matches the first 255 codepoints of
iso 10646. Will document its use for binary fields.
03/03: Wording in minutes agreed.
Closed
083
MB:To correct syntax diagram for FinalUnused and suggest wording for the
Sequence section
03/03: Mike has supplied updates to Sytax, length and Sequence sections.
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
084
MB:Encoding for binary fields when lenghtkind is pattern
085
MB:To correct syntax diagram for FinalUnused and suggest wording for the
Sequence section
086
dfdl:textNumberRepresentation to dfdl:textNumberRep
087
dfdl:NumberPattern etc to dfdl:textNumberPattern (not for calendarformat
but check individual properties)
088
Update built-in specifications section.
089
12.2 Will be changed to Delimiters - Add delimiters to glossary
(DFDLlimits delimiters to terminators and separator when
dfdl:lengthKind=delimited)
090
Section 6.3.1 will be revised to separate string literals and dfdl
expressions etc.
If possible will add the list of property types (listof DFDL string
literals, etc) and update property tables
091
The parser must look for the longest first. Unparsing will output the
first in the list.
The %ES entity should be not be allowed for initiator, separator and
terminator. Should probably be limited to use in nilValues but will check
whether it is useful in other properties..
092
occursStopValue should a value in the value space of the base type of the
array.
093
outputNewLine MUST be one of newline characters from the set described by
the %NL; mnemonic
094
dfdl:lengthKind endOfParent
'endOfParent' has almost the same meaning as 'delimited' so should have
the same semantics.
· the item?s terminator (if specified)
· an enclosing construct?s separator or terminator
· the end of an enclosing construct designated by its known length
· the end of the data stream
The effect would be the the element could be ended by the nearest known
length parent not just the immediate parent. Also the immediate parent
could have lengthKind 'implicit'
095
ChoiceKinf fixed:There must be a restriction that the length of at least
one choice must be statically defined.
096
The WG agreed to the solution of recommending the use of "iso-8859-1" for
binary fields. The write-up should note that he main use case is for a
complex element that contains binary fields.
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(a)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