On Sun, 2005-07-31 at 10:22 -0400, ext Jonathan Rosenberg wrote:
I don't have any particular views on the pros/cons of XML schema vs.
relax NG. However, my concern about this is whether there is value in
having TWO definitions of the grammar for these documents. It seems that
this is a recipe for interoperability problems. An XML-schema-using
implementation might define a document that is valid according to the
schema, but invalid according to the RELAX-NG definition. That would be
a problem. If that never happens, and neither can the converse (a
RELAX-NG compliant document that is not schema compliant), then the
RELAX-NG description is isomorphic to the XML schema, and so what is the
value exactly?
-Jonathan R.
I'll agree that it is not definitely an optimal solution to have two
definitions. Anyway, as you know, with the current W3C schemas you
cannot express where to put e.g. some extension elements when there are
many possible extension points: you could add e.g. <dm:person> element
under <presence>, <tuple> and <status>. And once you add new schemas
extension points just increase. However, these Relax NG schemas do not
allow this ambiguity. So they follow more strictly the intention of the
specs. Of course if these schemas don't correctly follow the specs, I am
glad to receive fixes.
Secondly, I am aware that ietf/xml-dev had these schema tool discussions
awhile back ago. AFAIK the recommendation does not mandate to use only
W3C schemas, it just seems to be the prevailing habit. At least in this
particular case Relax NG fits better for the task, imo.