RE: Including schemata with duplicate referents

See under "Schema Representation Constraint: Inclusion Constraints and Semantics":

-------------------
[...] the ·actual value· of the schemaLocation [attribute] successfully resolves [...] to a <schema> element information item in a well-formed information set, which in turn **corresponds to a valid schema**.

[...] call the <include>d <schema> item SII, the valid schema I and the <include>ing item's parent <schema> item SII’.

[...] the schema **corresponding** to SII’ must include not only definitions or declarations corresponding to the appropriate members of its own [children], but also components identical to all the ·schema components· of I.
-------------------

My interpretation is that the "valid schema" I **corresponding** to the <schema> SII contains components from all imported namespaces.   This is supported by the following, under "Schema Representation Constraint: Import Constraints and Semantics"

--------------------
The ·schema components· [...] of a schema **corresponding to a <schema> element information item** with one or more <import> element information items must include not only definitions or declarations corresponding to the appropriate members of its [children], but also, for each of those <import> element information items for which clause 2 above is satisfied, a set of ·schema components· identical to all the ·schema components· of I.
--------------------

Note the use of the word "corresponding" here, which is the same word used above ("which in turn corresponds to a valid schema").

Again, a schema is said to "correspond to" a <schema>.  This correspondence is specified under "Schema Representation Constraint: Import Constraints and Semantics" with regard to imported namespaces, and is specified under "Schema Representation Constraint: Inclusion Constraints and Semantics" with regard to inclusion.  The schema "corresponding" to a <schema> contains all the components of the imported schema.  Now, if the <schema> corresponding to that schema is **included** by another <schema>, the schema corresponding to the latter must include those components as well.

Correct me if there is a flaw in my reasoning, but my interpretation of the Rec is that the import mechanism and the include mechanism are fully recursive with regard to what components become part of the schema.  

(However, it is still mandatory to explicitly <import> or <include>  in order to be allowed to reference a component in a schema document.)

Alessandro Triglia
OSS Nokalva

Received on Friday, 5 November 2004 14:16:16 UTC