[DFDL-WG] Minutes for OGF DFDL Working Group Call, May 12 -2010

Alan Powell alan_powell at uk.ibm.com
Thu May 13 08:29:48 CDT 2010


Open Grid Forum: Data Format Description Language Working Group

OGF DFDL Working Group Call, May 12 -2010

Attendees
Steve Hanson (IBM) 
Alan Powell (IBM) 
Suman Kalia (IBM)
Stephanie Fetzer (IBM)
Tim Kimber(IBM) 

Apologies
Steve Marting (Progeny) 
Mike Beckerle (Oco)

1 Nils, defaults and unparsing   

>From last calls minutes
- It was agreed that on unparsing a simple infoset item with no value will 
be treated the same as missing.  Steve H to check WMB behaviour. Need to 
state in 4.1.2 Infoset that value is optional. " 

Something to note. We say that for a simple element infoset item 
[dataValue] has a value (either type compliant or nil) and for a complex 
element infoset item [dataValue] has 'no value'.  Also  we say that for a 
simple element infoset item [children] has 'no value' and for a complex 
element infoset item [children] it may have a value (so it could also have 
'no value').  The implication therefore is that an element infoset item is 
deduced to be simple or complex based on the [dataValue] property.  If we 
let a simple item take 'no value' for [dataValue] as proposed, then there 
is no reliable way to identify an element infoset item as simple or 
complex.   

Is that a problem in practice?  After parsing, all simple items will have 
[dataValue] set.  For items created by some other means, and presumably 
destined for unparsing, you could have an item with neither [dataValue] 
nor [children] set.  We could say (1) that an element infoset item is 
known to be simple or complex only when it is processed by the unparser, 
at which point the item is matched to the DFDL schema and its type 
resolved.  This is what broker's MRM parser does.  Alternatively (2) we 
introduce a simple/complex flag. 

Note that I tried creating an MRM 'infoset' item for a string element but 
just gave a name and no value. The MRM serializer looked at the element, 
matched it to its model, found it was simple, and treated the value as 
NULL which invoked null processing.  The XML serializer also assumed NULL. 


Personally I think we should adopt (1) but interpret 'no value' for a 
simple item as nil and not missing. 

Options for simple types:

1) Treat like missing from infoset. Means that an optional element will 
not be output, and a required element will go through default value 
processing. 

2) Treat like [dataValue] is nil. Means nil processing is invoked if 
nillable.  This is what MRM does today. 

3) Give an error - [dataValue] must always be set. It is up to the hosting 
application to apply a semantic to a missing value from its own 'infoset' 
and always set something when calling DFDL, if it wants to avoid such 
errors.

After discussion general agreement that in the absence of any other reason 
compatibility with existing products meant option 2. Steve H suggested we 
get Mike's opinion.

Alan has been updating the Nils/Defaults section and raised the following 
questions

A) Does nil processing apply to optional elements? In particular should a 
nilValue of empty string apply to optional element.

Nil processing does apply to optional elements including a nilValue of 
%#ES;

B) Does the nilValueDelimiterPolicy and emptyyValueDelimiterPolicy of a 
child apply on parsing when the parent is missing. That is should there be 
different rules for when the just child is missing than when the parent is 
missing.

After discussion although it was felt that there could be formats that 
required that support we weren't aware of any so V1 will say that the 
child policy properties do apply.


2  OGF 29   
Chicago, June 20-22 

Suman volunteered to attend to present. Note the public comment period 
ends 15 June.

3 Current Actions 
see below 


4  zoned numbers clarifications 
The specification of the number pattern for zoned numbers is not clear. 
A. 
Clarification: 
When dfdl:textNumberRep is ?zoned? only the pattern for positive numbers 
is used. Only the following pattern characters may be used: 

  '+' MUST BE present at the beginning or end of the pattern to indicate 
whether the leading or trailing digit carries the overpunched sign, if the 
logical type is signed 
  '+' MAY BE present at the beginning or end of the pattern to indicate 
whether the leading or trailing digit carries the overpunched sign, if the 
logical type is unsigned 
  'V' MAY BE used  to indicate the location of an implied decimal point 
  '0' indicates the number of required digits (including overpunched). 
 '#' indicates the number optional digits. 
Agreed

B. 
Also  textNumberPolicy implies it applies to zoned, but doesn't state what 
zoned behaviour it covers. I think it should be consistent with 
binaryNumberCheckPolicy for packed, and control whether positive punched 
data is accepted or rejected when parsing an unsigned type, and whether 
unpunched data is accepted or rejected when parsing a signed type. 
Agreed
C. 
Finally, several textNumber properties only apply to standard or zoned. We 
could distinguish these by name, which is what we have done elsewhere. So: 

- textStandardBase 
- textStandardGroupSeparator 
- textStandardExponentCharacter 
- textStandardInfinityRep 
- textStandardNanRep 
- textStandardZeroRep 
- textZonedSignStyle 
Stephanie noted that changes to properties caused rework of test cases so, 
in general, should be resisted
Agreed to change
Meeting closed, 14:30

Next call  Wednesday 19 May  2010  15:00 UK  (10:00 ET)

Next action: 092
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
05/05: Work still progressing
12/05: Work still progressing
084
Check behaviour of dfdl:inputValueCalc and outputValueCalc.
14/04: no prorgess
21/04: no progress
05/05: 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.
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
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
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.
05/05: TK: Still need definition of calculable length.
SKK: WMB COBOL imported behaviour with ODO
15/05: Suman sent an expmle of an imported Cobol ODo which suggested that 
the maximum space was reserved. He will extend the example.
091
The IBM team had questioned whether timezones should be just UTC+/- offset 
or should GMT and other short time zones be allowed. Alan to investigate
15/05: Alan to talk to Ruth.

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.


100
Need to state in 4.1.2 Infoset that value is optional.


101
When dfdl:textNumberRep is ?zoned? only the pattern for positive numbers 
is used. Only the following pattern characters may be used: 

  '+' MUST BE present at the beginning or end of the pattern to indicate 
whether the leading or trailing digit carries the overpunched sign, if the 
logical type is signed 
  '+' MAY BE present at the beginning or end of the pattern to indicate 
whether the leading or trailing digit carries the overpunched sign, if the 
logical type is unsigned 
  'V' MAY BE used  to indicate the location of an implied decimal point 
  '0' indicates the number of required digits (including overpunched). 
 '#' indicates the number optional digits.


102
Also  textNumberPolicy implies it applies to zoned, but doesn't state what 
zoned behaviour it covers. I think it should be consistent with 
binaryNumberCheckPolicy for packed, and control whether positive punched 
data is accepted or rejected when parsing an unsigned type, and whether 
unpunched data is accepted or rejected when parsing a signed type.


103
- textStandardBase 
- textStandardGroupSeparator 
- textStandardExponentCharacter 
- textStandardInfinityRep 
- textStandardNanRep 
- textStandardZeroRep 
- textZonedSignStyle 


104
4 Unsigned decimal 
Proposed solution: 
- Allow xs:nonNegativeInteger which enables unsigned unbounded integers to 
be modelled.  The problem to solve is then just for xs:decimal. 
- Call the new property dfdl:decimalSigned. It only applies to xs:decimal 
or user defined restrictions thereof.  It applies to all physical 
decimals, as its name implies (not just zoned or packed). 






 
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/20100513/1c9f2d52/attachment-0001.html 


More information about the dfdl-wg mailing list