[DFDL-WG] Minutes for OGF DFDL Working Group Call, April 21-2010

Alan Powell alan_powell at uk.ibm.com
Thu Apr 22 05:39:05 CDT 2010


Open Grid Forum: Data Format Description Language Working Group

OGF DFDL Working Group Call, April 21-2010

Attendees
Steve Hanson (IBM) 
Alan Powell (IBM) 
Mike Beckerle (Oco)
Stephanie Fetzer (IBM)
Tim Kimber(IBM) 

Apologies
Steve Marting (Progeny) 
Suman Kalia (IBM)
1. DFDL Specification status 
There have been no public comments so far but this is not unexpected. 
Steve H is pursuing a press release from IBM and OCO. Mike will send 
updated information to the OMG.
Alan will pursue contacts from the Athena EU project.

2 Nils, defaults and unparsing   

Steve H, Tim and Alan have had further discussions and concluded and new 
property was not required so propose 

- Elements that are zero length and elements that are 'missing' from the 
data stream should be treated the same. 
- missingValueInitiatorPolicy should be renamed to 
emptyValueInitiatorPolicy to distinguish from a missing infoset value on 
unparsing 
- Any 'initiator' policy needs to also include terminators so the 
enumerations should be extended to  "none", "initiator", "terminator", 
"both". and the properties renamed emptyValueDelimiterPolicy  and 
nilValueDelimiterPolicy . 

The tables have been reworked 

Nils and Defaults on Parsing 

initiator region
content region

Logical Value
matching
content
content matches nilValue
nilValueDelimiterPolicy 
must be
initiator or both
nil
Content does not match nilValue
parse content to get value
matching
empty
empty string is a nil value
nilValueDelimiterPolicy 
must be
initiator or both
nil
 A default is specified
emptyValueDelimiterPolicy
 must be
initiator or both
default value 
(may be nil, empty space or value)
empty
content
content matches nilValue
nilValueDelimiterPolicy 
must be
none
nil
Content does not match nilValue
Initiator must not be specified
parse content to get value
Initiator is  specified
ERROR 
empty
empty
empty string is a nil value
nilValueDelimiterPolicy 
must be
none
nil
A default is specified
emptyValueDelimiterPolicy
 must be
none
default value 
(may be nil, empty space
or value)

Note. The default value can be the empty space.

Nils and Defaults on Unparsing 


Logical Value

initiator region contains
content region contains
Nil
(implies nillable)
nilValueDelimiterPolicy 
none
empty
representation of nil 
nilValueDelimiterPolicy 
initiator or both
initiator string
"" (empty string)
(type is xs:string or xs:hexBinary)
emptyValueDelimiterPolicy
 none
empty
empty 
emptyValueDelimiterPolicy
initiator or both
initiator string 
missing
useNilForDefault
nilValueDelimiterPolicy 
none
empty
representation of nil 
nilValueDelimiterPolicy 
initiator or both
initiator string
default is empty string
(type is xs:string or xs:hexBinary)
emptyValueDelimiterPolicy
 none
empty
empty
emptyValueDelimiterPolicy
initiator or both
initiator string
Other default 

initiator string
 representation of the default value.
a non-nil non-empty-string value

initiator string
representation of the logical value

The above tables (with minor changes) were agreed. 
The tables currently apply to simpleTypes, examples are needed to confirm 
that they are correct for complexTypes as well.
Steve questioned whether complexTypes can be nillable as WTX allow this. 
Stephanie will investigate.
Subsequently Stephanie confirmed that this was only needed for XML support 
in WTX so is not needed in DFDL.

The Nils, defaulting section in the spec will be reviewed/rewritten to 
incorporate the new understanding. 

3. Current Actions: 
Updated below.
4 Expressions during Unparsing. 

In order to reduce complexity and potential performance problems it is 
proposed to 
-  nilValue and occursStopValue should NOT be able to take an expression. 
Agreed
- Very few properties should be allowed to have forward references. Table 
below agreed

Here's the list of properties that can take an expression, along with some 
suggested restrictions on forward referencing: 
byteOrder 
backward reference only 
encoding 
backward reference only 
initiator 
backward reference only 
terminator 
backward reference only 
separator 
backward reference only 
outputNewline 
backward reference only 
length 
simple  elements : backward reference only. 
complex elements : forward reference allowed 
Quote "When unparsing with dfdl:lengthKind="explicit", the calculation of 
dfdl:representationLength() returns the value of the dfdl:length 
property." A simple element's length needs to be known in advance, else it 
cannot be parsed. A complex element's length might get resolved while 
parsing its content, so a forward reference within the scope of the 
complex element is possible. 

Having said that, we might want to impose a restriction in IBM's DFDL 
processor v1.0 that only backward references are allowed. 
escapeCharacter 
backward reference only 
escapeEscapeCharacter 
backward reference only 
textNumberDecimalSeparator 
backward reference only 
textNumberGroupSeparator 
backward reference only 
textNumberExponentCharacter 
backward reference only 
binaryFloatRep 
backward reference only 
textBooleanTrueRep 
backward reference only 
textBooleanFalseRep 
backward reference only 
nilValue 
backward reference only 
Not clear why this needs to be specified as an expression. ( may already 
be on a list of open issues somewhere ) 
nilIndicatorPath 
backward reference only 
occursCount 
backward reference only 
occursStopValue 
Not clear why this needs to be specified as an expression. 
[inputValueCalc] 
[Parser only] Backward reference only 
outputValueCalc 
Forward or backward reference

Meeting closed, 14:10

Next call  Wednesday 28 April January 2010  13:00 UK  (8:00 ET)

Next action: 091
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
...
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
084
Check behaviour of dfdl:inputValueCalc and outputValueCalc.
14/04: no prorgess
21/04: no progress
085
ALL: publicize Public comments phase to ensure a good review..
14/04: see minutes
21/04: Press release, OMG and other standards bodies.
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.
088
define semantics of choiceKind 'fixedLength' 
31/03: TK to provide definition of calculable length.
Investigate  PL/I varchars and Cobol occurs dependingon.
14/04Tim had distributed a document starting the definition of calculable 
length for the longest choice member.
Alan had done some investigation of COBOL occurs depending on and when 
used in the working section of a program then the maximum storage was 
reserved but when used in the linkage section the dependent number was 
uses. We need to understand how the WMB COBOL importer deals with ODO.
21/04: Need to define 'calculable length' and WMB importer ODO behaviour.
089
Need to be able to define unsigned decimal and integer
31/03: MB to agree proposed solution
14/04: MB to agree proposed solution
21/04: Agreed. Closed
090
Semantics of separatorPolicy
14/04: Discussion on detecting when complex types should be defaulted. 
Examples needed.
21/04: Complex defaulting examples needed for new rules

Closed actions
No
Action 







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


097
Remove functions that returns duration


098
occursCountKind is parsing only


099
nilValue and OccuresStopValue cannot have an expression.
On unparsing only outputValueCalc can have a forward reference.





 
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 at 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





-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.ogf.org/pipermail/dfdl-wg/attachments/20100422/db72725e/attachment-0001.html 


More information about the dfdl-wg mailing list