- From: Michael Kay <mike@saxonica.com>
- Date: Tue, 12 Feb 2013 20:36:54 +0000
- To: xmlschema-dev@w3.org
On 12/02/2013 09:48, George Cristian Bina wrote:
> Hello,
>
> I always thought that an included schema document may refer to
> components that are defined in the including <schema> even if they are
> not directly reachable if we start from the included schema.
Yes, this is the consensus interpretation of the spec.
>
>
> 1.2 It resolves to a <schema> element information item in a
> well-formed information set, which in turn corresponds to a valid schema.
The phrase "corresponds to a valid schema" has always been highly
problematic. Henry Thomson points out that a dangling reference to other
components does not itself make a schema invalid. However, it is
difficult to argue that there is a "valid schema" corresponding to an
included schema document containing a type whose base type is defined in
the including schema document. Such a schema might contain, for example,
a simple type whose {variety} is unknown, and the SCM is explicit that
in a valid schema, the variety of a simple type must be atomic, union,
or list.
I think the only way out of this dilemma is to adopt highly creative
interpretations of the terms "corresponds to" and "valid schema",
neither of which is rigorously defined in the spec.
XSD 1.1 is a lot better in this regard, though still not nearly as
rigorous as I would like. It solves the problem by defining inclusion at
the level of schema documents, not schema components.
I have learnt over the years that implementing XSD is a bit like
implementing HTML - often you have to do what other implementations do,
or what Henry and Michael say the spec was intended to mean, not what
the spec actually says. I hope this will prove less true of XSD 1.1; and
reading XSD 1.1 is often a good way of determining the consensus
interpretation of XSD 1.0.
Michael Kay
Saxonica
Received on Tuesday, 12 February 2013 20:37:20 UTC