- From: <noah_mendelsohn@us.ibm.com>
- Date: Tue, 13 May 2003 22:55:27 -0400
- To: "Rajul Gupta" <rajul@oss.com>
- Cc: "XML Schema Dev" <xmlschema-dev@w3.org>
If I'm following your example, this is not legal because A.xsd has an explicit reference to a component from namespace http://www.example.com/N1 but no import for that namespace. The rule is, each document must declare its dependencies on anything it explicitly references. Namespaces that are used implicitly (for example the base type of some type) need not be imported by your schema document. I hope this helps. ------------------------------------------------------------------ Noah Mendelsohn Voice: 1-617-693-4036 IBM Corporation Fax: 1-617-693-8676 One Rogers Street Cambridge, MA 02142 ------------------------------------------------------------------ "Rajul Gupta" <rajul@oss.com> Sent by: xmlschema-dev-request@w3.org 05/13/2003 04:51 PM To: "XML Schema Dev" <xmlschema-dev@w3.org> cc: (bcc: Noah Mendelsohn/Cambridge/IBM) Subject: import/include question Hi, I have one question about the import/include. I have following three schemas. A.xsd and C.xsd have same targetNamespace N1; and B.xsd has targetNamespace N2. A.xsd imports B.xsd, and B.xsd imports C.xsd. Is this example legal since there is no direct "include" between A.xsd and C.xsd? Thanks in advance, Rajul -------------------------------------------------------------------------- A.xsd: <xs:schema targetNamespace="http://www.example.com/N1" xmlns:n2="http://www.example.com/N2" xmlns:n1="http://www.example.com/N1" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:import namespace="http://www.example.com/N2" schemaLocation="b.xsd"/> <xs:complexType name="MyType"> <xs:sequence> <xs:element ref="n1:el"/> </xs:sequence> </xs:complexType> <xs:element name="root" type="n1:MyType"/> </xs:schema> ------------------------------------------------------------------------- B.xsd: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.example.com/N2" targetNamespace="http://www.example.com/N2"> <xs:import schemaLocation="c.xsd" namespace="http://www.example.com/N1"/> </xs:schema> -------------------------------------------------------------------------- C.xsd: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.example.com/N1" targetNamespace="http://www.example.com/N1"> <xs:element name="el" type="xs:integer"/> </xs:schema> -------------------------------------------------------------------------
Received on Tuesday, 13 May 2003 23:05:08 UTC