
Open Grid Forum: Data Format Description Language Working Group OGF DFDL Working Group Call, June 16-2010 Attendees Steve Hanson (IBM) Alan Powell (IBM) Stephanie Fetzer (IBM) Tim Kimber(IBM) Apologies Suman Kalia (IBM) Mike Beckerle (Oco) 1 Nils, defaults and unparsing Steve had done thorough review which we went through. Main points - The 4th case of 'has a default' describes nils processing and shouldn't be included in defaulting as it don't always apply. - required context not sufficiently described. - parsing/unpasring rules can be claified if more clearly split into missing and not missing. Steve will update draft. 2 OGF 29 Chicago, June 20-22 Suman may be able to attend subject to finding reasonable travel cost. 3 Current Actions Updated below 4 Trailing alignment with lengthKind delimited or endOfParent Is it sensible to allow Trailing skip bytes with LK delimited The grammar says that trailing alignment is applied before the separator So the parser must search for the separator then remove the trailing bytes from the value and length. @Data1 *Data2*# - Test1 value=Data1 length=5 @Data1*Data2*# - Test1 value=Da length=2 (do we require that the trailing data must be the fillByte?) But bear in mind that the grammar effectively says: RightFraming = Terminator TrailingSkipBytes So the combination of dfdl:lengthKind="delimited" & dfdl:trailingSkipBytes would work when the delimiter is a terminator Steve was keen that there was consistent behaviour over different lengthKinds so that we shouldn't just disallow trailingSkipBytes for delimited. We discussed allowing TSB when terminator was specified. Alan to propose wording. Alan suggested 'dfdl:terminator must be specified and not empty if dfdl:lengthKind is delimited or endOfParent.' Agreed It was noted that this emphasised that terminators and postFix separators do not behave the same. 5 More on bit oriented formats Steve has been looking at a bit oriented format from the space industry The 'unused' fields could be defined as hidden or as leading/trailing skip bytes of a nearby field. But LSB and TSB are specified in bytes only. Steve proposed that LSB and TSB should be renamed leadingSkip and trailingSkip and can be specified in bits or bytes as specified by alignmentUnits or a new property skipUnits Ageed that it should be possible to specify bits. - LSB and TSB renames to dfdl:leadingSkip, dfdl:trailingSkip - units are specified by dfdl:alignmentUnits. 6 separatorPolicy with optional fields and variable arrays. In particular: - separatorPolicy 'required' with variable arrays - supressAtEnd with required fields that have defaults. Tim will dig out his original writeup 7 DFDL property types. Tim has proposed more specific types for some properties. In particular separating the different kinds of entities. Tim and Alan discussed after the call Confirmed that only inputValueCalc can have forward reference during parsing. Meeting closed, 16:30 Next call Wednesday 23 June 2010 15:00 UK (10:00 ET) Next action: 096 Actions raised at this meeting No Action 094 AP: Improve DFDL property types 095 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. 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 16/06: 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. 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. 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. 02/06: no progress 16/06: no porgress 092 AP: Confirm behaviour of defaulting with various occursCountKinds and separator policies. 16/06: no progress 093 AP: Describe trailingSkipBytes for delimited formats. 16/06: wording above agreed. Closed Closed actions No Action 093 AP: Describe trailingSkipBytes for delimited formats. 16/06: wording above agreed. Closed 095 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. 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 041 098 occursCountKind="expression" is parsing only 041 099 nilValue and OccuresStopValue cannot have an expression. On unparsing only outputValueCalc can have a forward reference. 041 100 Need to state in 4.1.2 Infoset that value is optional. 041 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. 041 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. 041 103 - textStandardBase - textStandardGroupSeparator - textStandardExponentCharacter - textStandardInfinityRep - textStandardNanRep - textStandardZeroRep - textZonedSignStyle 041 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). 041 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. 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