RE: Referencing declarations from including schema in chameleon inclusion

Yes, I think this is valid. Certainly, Saxon accepts it.

>I couldn't locate the relevant part in the spec (4.2.1 appears to be
covering this case).

The rules certainly aren't wonderfully clear, especially the bit that says
the included document must "correspond to a valid schema". This has to be
read in conjunction with the rule that says that a dangling reference
doesn't make a schema invalid, and such references can be fixed up later
during the schema composition process.

Michael Kay
http://www.saxonica.com/

> -----Original Message-----
> From: xmlschema-dev-request@w3.org 
> [mailto:xmlschema-dev-request@w3.org] On Behalf Of Boris Kolpackov
> Sent: 15 May 2008 11:50
> To: xmlschema-dev@w3.org
> Subject: Referencing declarations from including schema in 
> chameleon inclusion
> 
> 
> Hi,
> 
> Consider the following two schema files:
> 
> <!-- includee.xsd -->
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>   <xsd:element name="el" type="type"/>
> </xsd:schema>
> 
> <!-- includer.xsd -->
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>             xmlns="test" targetNamespace="test">
>   <xsd:include schemaLocation="includee.xsd"/>
> 
>   <xsd:simpleType name="type">
>     <xsd:restriction base="xsd:string"/>
>   </xsd:simpleType>
> </xsd:schema>
> 
> Here includer.xsd chameleon-includes includee.xsd which in 
> turn references a type from the including schema. It seems 
> that this should be legal however I couldn't locate the 
> relevant part in the spec (4.2.1 appears to be covering this case).
> 
> I am wondering of an implementation that conceptually 
> transforms includee.xsd (for the purpose of being included in 
> includer.xsd) into the following schema would do the right thing:
> 
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>             targetNamespace="test"
>             xmlns="test">
>   <xsd:element name="el" type="type"/>
> </xsd:schema>
> 
> 
> Thanks,
> Boris
> 
> -- 
> Boris Kolpackov, Code Synthesis Tools   
> http://codesynthesis.com/~boris/blog
> Open source XML data binding for C++:   
> http://codesynthesis.com/products/xsd
> Mobile/embedded validating XML parsing: 
> http://codesynthesis.com/products/xsde
> 

Received on Thursday, 15 May 2008 11:30:17 UTC