[DFDL-WG] Agenda for OGF DFDL WG call 14 April 2010- 13:00 UK (8:00 ET)
Alan Powell
alan_powell at uk.ibm.com
Tue Apr 13 11:16:45 CDT 2010
1. DFDL Specification status
There has been no announcement of the public comment period so presumably
it hasn't started. Chasing email sent.
2 Nils, defaults and unparsing
Logical Value
initiator region contains
content region contains
Nil
(implies nillable)
nilValueInitiatorPolicy
'prohibited'
empty
representation of nil
nilValueInitiatorPolicy
'required'
initiator string
"" (empty string)
(type is xs:string or xs:hexBinary)
missingValueInitiatorPolicy
'prohibited'
empty
empty
missingValueInitiatorPolicy
'required'
initiator string
missing
useNilForDefault
nilValueInitiatorPolicy
'prohibited'
empty
representation of nil
nilValueInitiatorPolicy
'required'
initiator string
default is empty string
(type is xs:string or xs:hexBinary)
missingValueInitiatorPolicy 'prohibited'
empty
empty
missingValueInitiatorPolicy 'required'
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
Other changes:
missingValueInitiatorPolicy
Enum
Valid values ?required', ?prohibited'
Specifies whether to expect an initiator when an element is missing.
Ignored unless dfdl:initiator is specified and is not "" (empty string).
'required'- Indicates that the dfdl:initiator followed by empty content is
the required syntax to indicate that the element is missing.
?prohibited' - Indicates that empty content is the required syntax to
indicate that the element is missing. The presence of an initiator implies
that real content must follow.
Use of ?prohibited' implies an ordered sequence. If used on an initiated
element of an unordered group it is a schema definition error.
If the element is required, defaulting occurs as defined above.
This property also applies on unparsing, when the data to be written
(after nil value and default value processing) is empty content.
Annotation: dfdl:element
Need to decide whether there needs to be a differentiation between 'zero
length content' and 'missing from the data stream'.
Tim will document the parsing use cases so we can verify the parsing
table.
3 dfdl:separatorPoilicy.
dfdl:separatorPolicy enumeration definitions are not complete as they do
not discuss arrays or defaulting.
separatorPolicy="required"
All the separators must be there.
No group member, except for required members with a default, may be
omitted from the data stream.
Every group member must have a separator in the correct position.
Optional members and variable-occurrence arrays will be allowed,
separators will be expected for all maxOccurs
** It is a schema definition error if maxOccurs="unbounded" for any member
of the group
separatorPolicy="suppressed"
Any group member ( optional or required with a default) can be omitted
from the data stream, in which case its separator must may also be
omitted.
For prefix and infix, if a separator is found then another group member is
expected.
For postfix, if enclosing markup is not found immediately after a postfix
separator then another group member is expected.
Enclosing markup or end of data can occur where an infix or prefix
separator is expected. This terminates the group.
Enclosing markup or end of data can occur immediately after a postfix
separator (if dfdl:documentfinalSeparatorCanBeMissing is 'yes' then the
postfix separator may be missing at the end of the datastream). This
terminates the group.
If the group terminates before all of its members have been parsed then
any required members in the remainder of the group must be defaulted into
the infoset.
The entire group can have a zero-length representation, which is indicated
by enclosing markup at the start of the group's content region.
If another group member is expected and the next group member is a point
of uncertainty then the identity of the next group member must be
determined
by resolving the point of uncertainty as described in section XXX.
If another group member is expected but no group member is found in the
data stream then it is a processing error.
If another group member is expected but all group members have been parsed
then it is a processing error.
separatorPolicy="suppressedAtEnd"
suppressAtEnd has the same rules as 'required' up to the last required
member that does not have a default, then it has the same rules as
'suppressed'
Open questions
1. If a group has separatorPolicy='required' and one of its optional
members has a zero-length representation, and that member is allowed to
have a zero-length representation, what should the parser do?
A similar question arises for required, defaultable elements with a
zero-length representation when they are based on a type with
xs:minLength="0". Should the default value be used, or the empty string?
2. How should the occursXXX properties be applied when there are other
ways to determine the number of occurences ( e.g. by counting separators
)?
3. What algorithm should the parser use to decide whether to default a
complex element or group ( when the element/group is a child of a
separated group)?
4. How does unparsing work for separated groups in all of these scenarios?
4 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.
....
31/03: work is progressing
084
Check behaviour of dfdl:inputValueCalc and outputValueCalc.
085
ALL: publicize Public comments phase to ensure a good review..
086
AP: Nils and Defaults during unparsing - update table
31/03: TK to document use cases for parsing
088
define semantics of choiceKind 'fixedLength'
31/03: TK to provide definition of calculable length.
Investigate PL/I varchars and Cobol occurs dependingon.
089
Need to be able to define unsigned decimal and integer
31/03: MB to agree proposed solution
090
Semantics of separatorPolicy
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/20100413/014096ac/attachment.html
More information about the dfdl-wg
mailing list