Re: b*c*b*c* vs. (b*c*)^2,2

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]

Received on Thursday, 12 February 2004 05:41:48 UTC