This is a Frequent Misunderstanding :-)
SGML and XML did not forbid ambiguous content models, just models
which exhibited a certain kind of non-determinism.
The phrasing in W3C XML Schema, which calls the constraint your first
content model (b*c*b*c*) violates but your second one ( (b*c*){2} )
doesn't, the Unique Particle Attribution constraint, is meant to
indicate this. Put simply, because there _is_ only one 'b' particle,
there can be no question about which 'b' particle parsed each item in
the input.
Note that the near-equivalent DTD declaration <!ELEMENT a (b*,c*)+> is
also OK, where <!ELEMENT a (b*,c*,b*,c*)> is not.
ht
--
Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
Half-time member of W3C Team
2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk
URL: http://www.ltg.ed.ac.uk/~ht/
[mail really from me _always_ has this .sig -- mail without it is forged spam]