- From: Rajul Gupta <rajul@oss.com>
- Date: Wed, 14 May 2003 08:24:12 -0400
- To: <noah_mendelsohn@us.ibm.com>
- Cc: "XML Schema Dev" <xmlschema-dev@w3.org>
Hi Noah, ----- Original Message ----- From: <noah_mendelsohn@us.ibm.com> To: "Rajul Gupta" <rajul@oss.com> Cc: "XML Schema Dev" <xmlschema-dev@w3.org> Sent: Tuesday, May 13, 2003 10:55 PM Subject: Re: import/include question > 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. Please note that A.xsd and C.xsd have same targetNamespace N1. > The rule is, each document must declare > its dependencies on anything it explicitly references. Do you mean that if you reference any component from other schema explicitly, then you must include/import this schema in the original schema **directly**? For example, in A.xsd, I must "include" c.xsd. correct? > 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. Do you mean, had there been a base type in C.xsd, I could derive the base type in A.xsd without direct "include"? Could you please explain this a little more? Thanks a lot for your help. Regards, Rajul > ------------------------------------------------------------------ > 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 Wednesday, 14 May 2003 08:25:27 UTC