Again wit da AND and Repetitions

David Brownell david-b at
Sun May 16 20:57:09 BST 1999

John Cowan wrote:
> Mark McDonald wrote:
> > > <!ELEMENT x (a? | b?)>
> > > <!ELEMENT a (c,d,e,f,g)>
> > > <!ELEMENT b (c,d,e,f,h)>
> > >
> > > With an input of elements c, d, e, f, h in element x.
> And David Brownell replied:
> > Actually, the content model for "x" is in error there, so any
> > XML processor is allowed to report an error however rudely it
> > chooses to do so.  That content model is "ambigious".
> I can only assume that both of you are suffering from brain farts.
> Any "x" that contains anything but an "a" or a "b" is obviously
> invalid.  You are talking as if the above declarations were:
> <!ENTITY % a "(c,d,e,f,g)">
> <!ENTITY % b "(c,d,e,f,h)">
> <!ELEMENT x (%a;? | %b;?)>
> Element declarations refer to lexically apparent objects (elements),
> not to mere groups of elements defined by pseudo-BNF.

Ah, yes ... I was reacting to the intent, not the exact wording!
Thanks for catching that.

There've been misstatements on this topic.  The XML spec is clear
that ambiguous content models are errors.  What it does poorly is
say exactly what that means; it basically boils down to a reality
that documents better not have it, "or else".  And any parser is
free to do _whatever it wants_ when faced with such errors.

- dave

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list