Re: Moving on (was Re: URIs quack like a duck)

 
> From: "Tim Berners-Lee" <timbl@w3.org>
 
> Facet is your word? Would you not consider a schema language to be a way to
> define some things about a namespace?

No, a schema language is a way to define constraints that apply to
information items which may or may not have element or attributes named
with universal names. 
The same universal name can appear in many different schemas. So it
defines some things using namespace names, it does not define anything
about a namespace, in the absense of a warrant to the contrary: and we
have no way to mark up such warrants. 

It is perfectly feasible for the elements in a single namespace to be
constrained by different schemas at different times. The most common
example of this is when data goes through a work flow: for example, the
owners of the schema may say "on the principle of being robust in what
you accept and conservative in what you generate, all generators of
documents should generate IDs for all elements, but all receivers of
documents should imply IDs for any that are missing."

With DTDs and XML Schemas, there is no notion of time, variant or
workflow, so any schema written in them will fail to capture the true
schema.  (Actually, DTDs do provide something: variant selection is what
marked sections are for.)  So, at an extreme, the need for different
schemas for different phases of the document's life is an artifact of
the incompleness of schema languages: but XML Schemas will hardly change
that.

In the absense of a complete schema language that has the ability to
selectively invoke constraints depending on workflow phase (an external
parameter) or on attribute values (when the document is marked up by
various passes), I don't think we should be too keen to promote the
expectation that a schema "defines" a namespace: at any time, in real
evolution, there can be constraints which cannot be expressed by the
facilities of the schema language and which force one to make your
schema looser than you would want to. 

Being able to know "something" about a namespace (by dereferencing it)
is bad if it blocks off knowing other things about that namespace. How
can I use the namespace URI to locate both an RDF document and an XML
Schema? For a semantic web, surely I may need both! They are clearly not
something that content negotiation applies to; they are not alternative
renditions.


Rick Jelliffe

N.b., the next version of Schematron will have support for dynamic
schemas and workflow. See the section "Phases" at
  http://www.ascc.net/xml/resource/schematron/Schematron2000.html

Received on Wednesday, 7 June 2000 12:45:21 UTC