
Proposal as per last week's minutes: We should be consistent with the similar property for missing separators. So I've changed the enums too - now 'require' and 'suppress', Also changed unparsing behaviour - we must honour the property - the existing behaviour of always writing the initiator means we can not successfully re-parse if writing empty content and enum is 'suppress'. When reading, assume that section 15.13 has been updated to include complex as well as simple elements. missingValueInitiatorPolicy Enum Valid values ‘require', ‘suppress' Specifies whether to expect an initiator when an element is missing. Ignored unless dfdl:initiator is specified and is not "" (empty string). 'require' - Indicates that the dfdl:initiator followed by empty content is the required syntax to indicate that the element is missing. 'suppress' - 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 ‘suppress’ 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 We should similarly change the enums for nilValueInitiatorPolicy to 'require' and 'suppress'. And we should back out work item 071 which suggests changing dfdl:separatorPolicy enumeration from 'require' to 'always'. That means 'always' is matched with 'suppress' - but always is not a verb. Unparsing. Which branch of a choice do we output when a complex element is required but missing from the infoset? I think it should be the first branch of the choice that does not result in a processing error. Regards Steve Hanson Programming Model Architect, WebSphere Message Broker, OGF DFDL WG Co-Chair, Hursley, UK, Internet: smh@uk.ibm.com, Phone (+44)/(0) 1962-815848 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