> However, if you consider data binding, non-determinism does cause a
> problem.   This is because we cannot uniquely determine which part
> in the schema matches the current element from time to time.

Yes.  Non-determinism can also make conversion to other schema
languages more difficult.

> Should we standardize non-determinism conditions so that data binding
> becomes easier?  I have been against this idea, since different
> data-binding engines require different types of non-determinism.
> Moreover, datatype ambiguities as shown in Eric's book is hard to
> detect.

I think it would be useful to have a specification that

- introduces the concept of a restriction on a RELAX NG schema, where
a particular restriction is identified by a URI

- provides a way for a RELAX NG schema author to indicate their intent
that a schema satisfies one or more restrictions

- catalogues a variety of restrictions (the catalogue might be
separate from the specification)

The catalogue would include restrictions which are implemented in
existing products as well as those that are well-motivated by theory
(maybe for example the 1-pass preorder typing restriction from
http://lrb.cs.uni-dortmund.de/~martens/data/tods06.pdf) or by
compatibility considerations with existing standards (notably DTD and
XSD). Each restriction would be precisely defined and would have a URI
assigned to it.  There would also be information about how various
restrictions relate to each other.

Tools like Jing and Trang would then be able to check whether various
restrictions are satisfied.  When somebody is creating a data-binding
or conversion tool, hopefully they would make an effort to use one of
our standardized restrictions.  If they find that none of the existing
restrictions are suitable, we can discuss it with them, help them
devise something sensible, and then add it to the catalogue.

James

Reply via email to