[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: meta-specs (was RE: A few things I noticed about w3c's xml-schema)
- From: Jonathan Borden <jborden@mediaone.net>
- To: "Sean B. Palmer" <sean@mysterylights.com>,"Bullard, Claude L (Len)" <clbullar@ingr.com>,"Simon \"St.Laurent" <simonstl@simonstl.com>
- Date: Wed, 30 May 2001 15:15:45 -0400
Sean B. Palmer wrote:
> > > One could say that a certain element is allowed in place x,
> > > and the other could say that it isn't. Which is to be believed?
>...This is a general
> issue, but on that has arisen slowly because it took RDDL to come
> along and provide at least the first layer, which is to say "hey,
> these are the schemata related to this namespace". Now, I know that
> the role attributes etc. provide the "why what and how" of it all, but
> they still only point to the schema as a whole, and they still have a
> lot of information that can only be judged when you understand what
> the role/purposes are inherently.
...
>
> > RDDL shouldn't have to know that a constraint has been
> > violated by a member unless it is a RDDL constraint.
>
> Again, it is not the fact that a constraint has been violated, it the
> different methods of constraint, and the layering and
> interrelationships between these layers.
>
Yes these are general issues. The concepts constraints/validity and types
are closely related. One can define being "of a type" as conforming to a
constraint. XML Schema identifies types by QName, so namespaces _are_
intermingled in this issue.
First:
In the RDDL model, a namespace is defined by a set of resources each of
which may have an id. A QName, which identifies a type or constraint is
itself described in a RDDL document by the <rddl:resource> whose id is the
localname part of the QName. e.g.
foo:decimal =>
...
<rddl:resource id="decimal"
...>
<h3>decimal</h3>
<p>this is a description of the <em>decimal</em> type</p>
</rddl:resource>
....
This model 'converts' a QName to a URI as namespaceURI '#' localname e.g.
http://example.org/foo#decimal
(and rddl:resources may be nested within rddl:resources so one _can_ provide
individual resources for e.g. attributes,elements, simpleTypes etc etc etc.)
Second:
The idea that different schemata associated with a namespace may provide
different constraints is a salient one. I have begun to address this area in
the "Schema Algebra" http://www.rddl.org/SchemaAlgebra
In particular statement [3] which defines Schema Equality as Instances(a) =
Instances(b), that is two schemata are 'equal' if their instance sets are
equal. One schema might use the XML Schema language and another the RELAX
schema language, but if the set of instance documents are the same, the two
schema are said to be equal. I have not addressed the issue of how one might
actually determine that two schemata are functionally equal, but this is the
general direction.
-Jonathan