Re: schemaLocation referencing multiple schemas with same namespace

I don't think it is invalid, but I don't think any implementation would do
what you expect.  They would be seen as three equivalent hints to where a
complete (or at least sufficient for the document) schema governing
http://www.cellphone.org  could be located.  An processor could choose to
follow any one of them or to use some other mechanism to locate a schema.

Except in the case where your file contained only Nokia phones and your
processor chose by some non-specified behavior (first mentioned, last
mentioned, random selection) nokia.xsd as the hint to use, then the schema
information would be insufficient.

A similar but more realistic scenario would arise when some process combined
multiple documents that used slightly different versions of schemas for the
same namespace (for example a version 1.0 and then a version 1.1 that added
some additional element definitions but did not change any definitions in a
way that would have required a change of namespace).  If some aggregator
combined instances that declared an 1.0 schema location (but would also
validate against the later schema) with those that declared (but required) a
1.1 schema location, then the resulting document might be invalid against
its effective schema hint if a 1.0 instance was placed first in the file.

Any significant deployed system would not trust xsi:schemaLocation to locate
schema resources for the security reasons that Tim Bray mentioned in "When
XML turns ugly" from XTech 2000.  Instead they would depend on the
application knowing trusted schemas for the namespaces they use.
xsi:schemaLocation is a useful feature for schema aware editors but making
it more than that is probably unwise.





----- Original Message -----
From: "Roger L. Costello" <costello@mitre.org>
To: <xmlschema-dev@w3.org>
Cc: <costello@mitre.org>
Sent: Saturday, December 02, 2000 7:34 AM
Subject: schemaLocation referencing multiple schemas with same namespace


> Hi Folks,
>
> Suppose that a schema reuses components from schemas which have the same
> namespace, i.e., it uses <include>.  In an instance document is it
> invalid to reference all of the schemas in schemaLocation?
>
> Example.
>
> schemaLocation="http://www.cellphone.org
>                 Nokia.xsd
>                 http://www.cellphone.org
>                 Erikson.xsd
>                 http://www.cellphone.org
>                 Motorola.xsd"
>
> This seems a little odd - the namespace http://www.cellphone.org is
> defined by Nokia.xsd, then the same namespace is defined by Erikson.xsd,
> then it's defined by Motorola.xsd.  /Roger

Received on Saturday, 2 December 2000 11:46:03 UTC