W3C home > Mailing lists > Public > xmlschema-dev@w3.org > November 2004

RE: Including schemata with duplicate referents

From: Alessandro Triglia <sandro@mclink.it>
Date: Fri, 5 Nov 2004 20:42:01 +0100 (CET)
To: xmlschema-dev@w3.org
Cc: mike@saxonica.com
Message-Id: <1.3.200411052041.3719@>



> -----Original Message-----
> From: xmlschema-dev-request@w3.org 
> [mailto:xmlschema-dev-request@w3.org] On Behalf Of Michael Kay
> Sent: Friday, November 05, 2004 12:53
> To: 'Alessandro Triglia'; xmlschema-dev@w3.org
> Subject: RE: Including schemata with duplicate referents
> 
> 
> 
> > 
> > My guess is that it should be possible to track the identity 
> > of components across inclusions/imports when they are added 
> > from one schema to another schema, without keeping any 
> > information related to their XML representation.  This should 
> > also work when the target namespace property is changed, in 
> > the case of chameleon schemas.
> 
> You need to keep information related to the XML 
> representation until such
> time as all the references from a component are resolved. 


Yes, but you are saying "from" a component.  When a <schema> includes another <schema>, there must be a valid Schema corresponding to the included <schema>.  Unless there are circular includes/imports, it must be possible to resolve all the references in the included <schema> before doing the inclusion, otherwise you won't have a "valid schema".

(I am not sure if circular inclusion is allowed or not.  It is not explicitly disallowed, and the wording of "Schema Representation Constraint: Inclusion Constraints and Semantics" does not help clarify this aspect.  Either an explicit prohibition or an explanatory note saying that circularity is allowed would have been very helpful.  It is curious that there is a note explaining that multiple inclusion is not an error but there is no note explaining that mutual inclusion is not an error.)

Unless you have circular include/imports, you should always be able to perform the include/import at the schema component level after fully building the "valid schema".  No?

Alessandro Triglia
OSS Nokalva


> For 
> example, until
> you know the primitive base type of a simple type, you can't 
> convert its
> enumeration facets from the lexical space into the value space.
> 
> For chameleon namespace-changes I've been working on the 
> basis that if a
> reference is resolved before the namespace is changed, the 
> target component
> doesn't change as a result of the namespace change, unless 
> the component is
> redefined at the same time, in which case the target 
> component is replaced
> by the new component of the same name as the original.
> 
> (There are only two tests in the whole W3C test suite that 
> test redefine
> with a change of namespace, and neither of them include any 
> components with
> external references in the schema that's redefined. So it's 
> not easy to
> check that you're doing the right thing!)
> 
> Michael Kay
> http://www.saxonica.com/
> 
> 
> 
Received on Friday, 5 November 2004 19:42:05 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 23:40:23 UTC