Re: Cross-references among included schema documents

On Sep 27, 2004, at 10:36 AM, Michael Kay wrote:
>> It allows you to do so in the context of the schema corresponding to
>> A.
>
> I don't see how one can read it that way. It specifically requires the 
> QName to be resolved to a component that belongs to the schema 
> corresponding to the document containing the QName.
>

I think you're right, and it's an error in the spec.  Any appeal to "a 
schema corresponding to a schema document" appears suspect to me.  What 
I think the constraint is really trying to say is that the QName user 
and the resolved component must be in the same schema.

Looking at the QName resolution rules, I can't see how references to 
built-in types work without an explicit <import> for the XML Schema 
namespace.  Must be missing something elsewhere.

> In practice I am looking for guidance as to what schema I should be 
> using
> for resolution. Is it the schema being used for validity assessment 
> (of an
> instance)? But that doesn't work either, because if the schema used for
> assessment is S, and S imports T, and T imports A, and A includes B 
> and C,
> and B contains a reference to a component X defined in C, then X will 
> not be
> a member of the set of components in S.

I would think X is a member of C, so X is a member of A, so X is a 
member of T, so X is a member is S.  However, commponents in S.XSD 
cannot reference X because there is no <import> in S.XSD for the 
namespace of X (Rule 4 of 3.15.3).

xan

Received on Monday, 27 September 2004 15:25:14 UTC