RE: Including schemata with duplicate referents

> I have difficulties understanding what to do with included components
> at sub-schema constrution stage - acting as referents - which 
> cannot be included into the final schema.

You're not alone: I've been finding the spec is a quagmire in this area.
> 
> A simplified example:
> 
> - A, B1, B2 and C are schemata
> - B1 includes C and references components of C (referred to as B1.C)
> - B2 includes C and references components of C (referred to as B2.C)
> - A includes B1 and B2
> 
> Since the B1.C components are already included in A, the B2.C 
> components
> won't be added to A. The spec states properties of components to have 
> components as their values; the values of components of B2 
> referencing 
> B2.C would become unavailable, since not added to A.
> 

You seem to be assuming B1 and B2 contain copies of the components in C. If
the components retain their identity, I don't think it's a problem: if a
component in B2 includes a reference to a component in C, that reference
will be satisfied, because the component will exist in A, whether it reached
A via B1 or B2. (It gets more complicated, of course, with chameleon
includes).

The difficulty I have been finding is that inclusion at the level of schema
components simply doesn't work. Until all the references from a schema
component to other components have been resolved, you need to keep a lot of
"raw XML" information such as the lexical form of enumeration values and
their namespace context.

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

Received on Friday, 5 November 2004 13:33:05 UTC