[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