RE: Including Chameleon Schemas

Henry,

I believe there is a bug in clause 3.2 under "Schema Representation
Constraint: Inclusion Constraints and Semantics".  Since I am looking at the
"W3C Proposed Edited Recommendation 18 March 2004", I assume there is no
erratum on this.

Clause 3.2 says:

-------------
[...] the schema corresponding to the <include>d item's parent <schema> must
include not only definitions or declarations corresponding to [...]
-------------

It should say:

-------------
[...] the schema corresponding to the <include>ing item's parent <schema>
must include not only definitions or declarations corresponding to [...]
-------------

or better:

-------------
[...] the schema corresponding to SII’ must include not only definitions or
declarations corresponding to [...]
-------------

Just compare 3.2 with 3.1.

Alessandro Triglia
OSS Nokalva



> -----Original Message-----
> From: xmlschema-dev-request@w3.org 
> [mailto:xmlschema-dev-request@w3.org] On Behalf Of Alessandro Triglia
> Sent: Wednesday, October 27, 2004 15:35
> To: 'Paul Spencer'; xmlschema-dev@w3.org
> Subject: RE: Including Chameleon Schemas
> 
> 
> 
> 
> 
> > -----Original Message-----
> > From: xmlschema-dev-request@w3.org 
> > [mailto:xmlschema-dev-request@w3.org] On Behalf Of Paul Spencer
> > Sent: Wednesday, October 27, 2004 05:10
> > To: xmlschema-dev@w3.org
> > Subject: Including Chameleon Schemas
> > 
> > 
> > 
> > XML Schema part 1 says that:
> > 
> > The ·XML Schema· corresponding to <schema> contains not only 
> > the components
> > corresponding to its definition and declaration [children], 
> > but also all the
> > components of all the ·XML Schemas· corresponding to any 
> > <include>d schema
> > documents. Such included schema documents must either (a) 
> > have the same
> > targetNamespace as the <include>ing schema document, or (b) no
> > targetNamespace at all, in which case the <include>d schema 
> > document is
> > converted to the <include>ing schema document's targetNamespace.
> > 
> > My question relates to the meaning of "converted" in the last 
> > line. Does
> > this mean just that the definitions and declarations in the 
> <include>d
> > schema document belong in the targetNamespace of the 
> > <include>ing schema
> > document
> 
> 
> The answer is in clause 3.2 under "Schema Representation Constraint:
> Inclusion Constraints and Semantics":
> 
> -----------------------
> 3.2 [...] the schema corresponding to the <include>d item's 
> parent <schema>
> 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, except that anywhere the 
> ·absent· target
> namespace name would have appeared, the ·actual value· of the
> targetNamespace [attribute] of SII’ is used. In particular, 
> it replaces
> ·absent· in the following places: 
> 
> 3.2.1 The {target namespace} of named schema components, both 
> at the top
> level and (in the case of nested type definitions and nested 
> attribute and
> element declarations whose code was qualified) nested within 
> definitions;
> 
> 3.2.2 The {namespace constraint} of a wildcard, whether 
> negated or not;
> -----------------------
> 
> 
> > , or that references to these definitions and 
> > declarations in the
> > <include>d schema document also change to reference the new 
> > namespace? 
> 
> 
> The references you mention are a characteristic of the XML 
> representation of
> the Schema.  In the language of "schema components" used all 
> over the Rec,
> there are no "references" - schema components have properties, and a
> property of a schema component can be a schema component.
> 
> See, for example:
> 
> --------------------
> 3.8.1 The Model Group Schema Component
> 
> The model group schema component has the following properties:
> 
> Schema Component: Model Group
> 
> {compositor}   One of all, choice or sequence. 
> {particles}   A list of particles 
> {annotation}   Optional. An annotation.
> --------------------
> 
> Here, the "particles" property is a list of particles, which 
> are schema
> components.  The text does not say that the model group 
> schema component
> contains references to particles.
> 
> Alessandro Triglia
> OSS Nokalva
> 
> 
> > In
> > other words, the <include>d schema document behaves as though 
> > there were a
> > targetNamespace declaration *and a defaultNamespace 
> > declaration with the
> > same URI*. I suspect just the former, in which case the 
> > <include>d schema
> > document cannot reference it's own definitions and declarations.
> > 
> > I have noticed that the MS .NET parser seems to interpret 
> this by the
> > stricter definition, but that others do not. I have been 
> > arguing on and off
> > with others about this for years, but have never had a 
> > definitive answer and
> > cannot find anything in the archives.
> > 
> > Regards
> > 
> > Paul Spencer
> > 
> > 
> > 
> > 
> 
> 
> 

Received on Wednesday, 27 October 2004 20:34:06 UTC