Currently dfdl:initiatedContent is used purely as a check that all the content of a sequence or choice have an initiator specified.
initiatedContent Booloean

When 'true' indicates that all the children of the choice are initiated. It is a schema definition error if any children have their dfdl:initiator property set to the empty string.

When 'false', the children of the choice may have their dfdl:initiator property set to the empty string.

Annotation: dfdl:sequence, dfdl:choice, dfdl:group




It would help implementations decide more quickly if optional complex elements are present, and therefore have to save state less often,  if initiatedContent was also made discriminating. I would expect that in most uses cases the initiator is the discriminator so this change would make that simpler to specify. The same effect can be achieved by adding a dfdl:discriminator to each element but that is having to specify the same intent twice.

If the initiator is not the discriminator then initiatedContent can be set to 'false'.  You lose the schema checking but this is a less common case.

What do you think?

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






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