RE: URIs quack like a duck

I wrote a comment on the Schema comments list a few weeks ago (http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0159.html) about some of the flaws that I saw with the schema
location mechanism.

Basically since a schema can define a set of constraints for a group of namespaces, it seems much cleaner if you identify the schema resources that govern the document in a particular priority order.
I'd definitely lean towards something like:

    <foo
        xmlns:x="uuid:12345"
        xmlns:y="uuid:67890"
         xmi:schemaLocation="http://www.someone.org/data/schemaQ">
         <bar x:a="4"></bar>
     </foo>


If I did this,

    <foo
        xmlns:x="uuid:12345"
        xmlns:y="uuid:67890"
         xmlschema:x="http://www.someone.org/data/schemaQ"
         xmlschema:y="http://www.someone.org/data/schemaT"
         <bar x:a="4"></bar>
     </foo>

and schemaQ imported a different schema (schemaV) for namespace uuid:67890 which one do I do to resolve:

<x:foo>
	<y:bar/>
</x:foo>

If y:bar is validated using schemaT, then I violate the expectation of schemaQ which only expected y:bar to have the forms allowed in schemaV.

If I did something, like

    <foo
        xmlns:x="uuid:12345"
        xmlns:y="uuid:67890"
         xmi:schemaLocation="http://www.someone.org/data/schemaQ http://www.someone.org/data/schemaT">
         <bar x:a="4"></bar>
     </foo>

The schemaT is only used for namespaces that do not appear in schemaQ.  This would result in any document that is valid for SchemaQ only to continue to be valid for SchemaQ + SchemaT.  However, a
SchemaT valid document may be invalid if SchemaQ defines a different schema for one of its namespaces.

Received on Thursday, 1 June 2000 15:08:17 UTC