- From: Pete Hendry <peter.hendry@capeclear.com>
- Date: Thu, 18 Dec 2003 02:43:39 +1300
- To: www-xml-schema-comments@w3.org
Redefine
Redefine is a strange beast. It does not map easily to programming
languages and the definition of how it is used is, at best, ambiguous.
For example, if I have 2 schema definitions, the second of which
redefines some of the contents of the first and have the targetNamespace
"http://tempuri.org/xsd" and locations
http://tempuri.org/original.xsd
http://tempuri.org/redefined.xsd
and I have in another schema which contains
<xsd:import namespace="http://tempuri.org/xsd"
schemaLocation="http://tempuri.org/redefined.xsd"/>
then there is ambiguity in which schema will be loaded. The
schemaLocation is only a hint so a processor that has already loaded the
original schema for the given targetNS is free to use it from its cache.
It doesn't have to follow the schemaLocation since it thinks it already
has the required schema. The opposite could also happen which could lead
to unexpected results when an application was written to specifically
use the original schema and changes in redefined are not compatible for
the application (this could happen where the 2 applications are loaded
into the same JVM, perhaps an old version and a new version of the same
application).
redefined has seen almost no support that I have seen because it is
confusing as above and also because it maps poorly to use by programming
language tools. I would like to see it dropped from the specification or
at least flagged as optional.
Pete
Received on Wednesday, 17 December 2003 08:43:44 UTC