W3C home > Mailing lists > Public > www-xml-schema-comments@w3.org > April to June 2000

Re: What about no deterministic aspect?

From: Henry S. Thompson <ht@cogsci.ed.ac.uk>
Date: 22 Jun 2000 23:05:24 +0100
To: cedric thienot <cedric.thienot@lip6.fr>
Cc: www-xml-schema-comments@w3.org
Message-ID: <f5br99pid7f.fsf@cogsci.ed.ac.uk>
Just finished an _internal_ mailing about this.  Point by point:

cedric thienot <cedric.thienot@lip6.fr> writes:

> Dear all,
> I didn't manage to find exactly what is the position of the
> xml-schema group about the deterministic aspect of
> a schema. Indeed there was a paragraph about determinism
> in the XML spec (http://www.w3.org/TR/1998/REC-xml-19980210#determinism)
> We would like to know your position on
>         1) the non deterministic models that you can find in a DTD
>                 - ((a, b) | (a, c))
>                 - (a*, a)

Neither XML nor SGML allows either of the above.  XML Schema doesn't
allow their equivalent.

>         2) recursive models (a contains b and b contains a).

XML 1.0 and XML Schema are fine with this.

>         2) and new ones such as :
>                 - a2 is an equivClass of a1
>                   and the content model is :
>                         ((a1, b) | (a2, b))

Nope, as that's equivalent under equivClass semantics to

((a1|a2),b|(a2,b)), which XML 1.0 wouldn't allow.

Here's _why_ we didn't change this:

> Here's a more schema-specific reason why, alongside the case of
different <appinfo>s on the different 'a's.  Consider the following:

> <complexType name='demo'>
>  <choice>
>   <sequence>
>    <element ref='data' nullable='false'/>
>    <element ref='toughPostlude'/>
>   </sequence>
>   <sequence>
>    <element ref='data' nullable='true'/>
>    <element ref='relaxedPostlude'/>
>   </sequence>
>  </choice>
> </complexType>

> Now although this has the form, qua DTD, of (a,b)|(a,c), which
> minimises to a non-deterministic a,(b|c), this is bogus in the schema
> world, since the nullability of a depends on which branch you take.
> This in turn would require lookahead, which in turn might (suppose
> instead of b|c you had two wildcards with different 'namespace'
> attributes) be at least somewhat non-deterministic in itself, . . .
> So I think given the non-pure-CF-PSG nature of content-model
> particles, somewhat to my surprise I actually thing the Unique
> Attribution constraint is a Good Thing.

  Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
          W3C Fellow 1999--2001, part-time member of W3C Team
     2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
	    Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
		     URL: http://www.ltg.ed.ac.uk/~ht/
Received on Thursday, 22 June 2000 18:05:39 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 23:08:47 UTC