Re: Deterministic Content Models ?

Philippe Le Hˇgaret (Philippe.Le_Hegaret@sophia.inria.fr)
Sun, 13 Sep 1998 19:18:15 +0200


Liam R. E. Quin wrote:
>=20
> On Fri, 11 Sep 1998, Philippe Le H=E9garet wrote:
>=20
> > Is (paragraph*)* a determinist content model ?
> > If yes, so I think (a+ | b)* is a deterministic content model too.
>=20
> Yes, they both are.
>=20
> The constraint in section 3.3.1 of the XML spec is
> it is an error if an element in the document can match more
> than one occurrence of an element type in the content model.
>=20
> Hence, a content model can only be non-deterministic in the XML sense
> if it has a name that repeats. For example,
> (a*, a*)
> is non-deterministic, because the input <a> could match either "a*" in
> the content model. In the same way,
> (a+, b?, a+)
> is bad because <a><a> could match the first "a+" or the first a+,
> a missing b between the two elements, and the second <a/> could match
> the second a+ in the content model.
I'm not totally agree with you, because if you write the
sequence like this :
(a, a*)* is it still deterministic ? For me no, because there are
two states in this content model.
(a+)* is the same case and (a+ | b)* too.

But, you're right : (a*)* is deterministic because you jump into the
same state.

Philippe.