
From the WG minutes of 23 September The semantics of dfdl:occursCountKind='parsed' are 'parse as many as
Tim As we discussed section 5.2.1 has not been updated to reflect the recent discussions on dfdl:occursCountKind. possible then validate against min/maxOccurs if validation is on. However section 15.13 Properties for Default Value Control states 'An element of a variable-occurrence array is required if its index is less than or equal to the value of minOccurs.' 'If an element is required, but parsing does not find it, then if the element has a default value specified it is used as the logical value. If there is no default value then it is a processing error.' 'On unparsing, if an element is required, and is not part of the infoset and the element has a default value specified then it is used, otherwise it is a processing error.' The last sentence should include arrays with not enough occurrences. So if an array has too few occurrences (and no default) it is a processing error, if it has too many it is a validation error Your questions - When unparsing, the infoset might omit an element which has minOccurs > 0. Should that be reported as a validation error, or a processing error?
if no default a processing error
The infoset doesn't really have groups only elements. So if you had an anonymous sequence in which all the elements were optional and they were missing it would not be an error. However if you have a complex element
- When unparsing, the infoset might omit an entire group. If all of the elements in the omitted group were optional, should this be considered an error ( because groups are implicitly required ) or not? that contained an anonymous sequence in which all the elements were optional and they were missing would it be valid for the element to be missing? Don't know, discuss. - When parsing an unordered group, if the input document contains more than maxOccurs occurrences of one of the members, is that a processing error or a validation error? The specification seems to imply that it is a validation error, but that seems inconsistent with section 5.2.1
Validation error (5.2.1 needs updating)
Alan Powell MP 211, IBM UK Labs, Hursley, Winchester, SO21 2JN, England Notes Id: Alan Powell/UK/IBM email: alan_powell@uk.ibm.com Tel: +44 (0)1962 815073 Fax: +44 (0)1962 816898 From: Tim Kimber/UK/IBM@IBMGB To: dfdl-wg@ogf.org Date: 08/10/2009 10:20 Subject: [DFDL-WG] Validation of min/mxOccurs The specification is not entirely clear on a the following points a) If the input document contains too many occurrences of an element, should that be treated as a validation error, or a processing error? Section 5.2.1 says "It is a parse error when an array is found to have a number of occurrences not conforming to the minOccurs and maxOccurs constraints in the absence of a default value specification. Note that specifically, this is not a validation error, it is a processing error" Points to note: - When unparsing, the infoset might omit an element which has minOccurs > 0. Should that be reported as a validation error, or a processing error? - When unparsing, the infoset might omit an entire group. If all of the elements in the omitted group were optional, should this be considered an error ( because groups are implicitly required ) or not? - When parsing an unordered group, if the input document contains more than maxOccurs occurrences of one of the members, is that a processing error or a validation error? The specification seems to imply that it is a validation error, but that seems inconsistent with section 5.2.1 It may be necessary to include a section which specifies how the DFDL processor should perform schema validation. regards, Tim Kimber, Common Transformation Team, Hursley, UK Internet: kimbert@uk.ibm.com Tel. 01962-816742 Internal tel. 246742 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 -- dfdl-wg mailing list dfdl-wg@ogf.org http://www.ogf.org/mailman/listinfo/dfdl-wg 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