RE: Including schemata with duplicate referents

> 
> My guess is that it should be possible to track the identity 
> of components across inclusions/imports when they are added 
> from one schema to another schema, without keeping any 
> information related to their XML representation.  This should 
> also work when the target namespace property is changed, in 
> the case of chameleon schemas.

You need to keep information related to the XML representation until such
time as all the references from a component are resolved. For example, until
you know the primitive base type of a simple type, you can't convert its
enumeration facets from the lexical space into the value space.

For chameleon namespace-changes I've been working on the basis that if a
reference is resolved before the namespace is changed, the target component
doesn't change as a result of the namespace change, unless the component is
redefined at the same time, in which case the target component is replaced
by the new component of the same name as the original.

(There are only two tests in the whole W3C test suite that test redefine
with a change of namespace, and neither of them include any components with
external references in the schema that's redefined. So it's not easy to
check that you're doing the right thing!)

Michael Kay
http://www.saxonica.com/

Received on Friday, 5 November 2004 17:52:38 UTC