[DFDL-WG] Floating elements and unordered groups

Tim Kimber KIMBERT at uk.ibm.com
Mon Jan 11 11:51:24 CST 2010


Hi all,

I know this area of the specification was only recently resolved, and I 
think there may be an inconsistency in the v0.37 wording.

Section 16, re: sequenceKind says: "The children of an unordered sequence 
must be xs:element."
Section 16.5 Floating Elements says: "An ordered sequence of n element 
children with either n or n-1 of those children with dfdl:floating="true" 
is equivalent to an unordered sequence with the same n element children 
with dfdl:floating="false". A complex element with dfdl:floating="true" 
can have as its content model a sequence with elements that also have 
dfdl:floating="true". "

Now suppose that, instead of N element children, there are N-1 floating 
element children + one non-floating group. This group will be equivalent 
to an unordered group with a non-element member.
If the specification was intending to make life easy for implementers, 
then it should probably disallow groups in any non-ordered context, 
including when sequenceKind='ordered' and there is at least one floating 
component. But I think that would be too restrictive. I would be happy for 
the restriction to be lifted entirely. Given that unordered groups can 
have dfdl:initiated="false", it will sometimes be necessary to find the 
correct member by trial and error ( speculative parsing ) anyway. I don't 
think it's any more difficult to speculatively parse a group than to 
speculatively parse a complex element. 

If I've missed something, and it turns out that the restriction is useful, 
then we should 
a) tighten up the wording to say that if a group with N members has N or 
N-1 floating members, then it must be validated as if it was an unordered 
group. 
b) consider lifting the restriction in cases where dfdl:initiated="true" ( 
because it makes things so much easier for the DFDL processor )

regards,

Tim Kimber, Common Transformation Team,
Hursley, UK
Internet:  kimbert at 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





-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.ogf.org/pipermail/dfdl-wg/attachments/20100111/6394c226/attachment.html 


More information about the dfdl-wg mailing list