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.