W3C home > Mailing lists > Public > xmlschema-dev@w3.org > August 2005

Importing other schema's into the main schema defintion

From: Kevin L. Cobb <kevin.cobb@emergint.com>
Date: Mon, 29 Aug 2005 11:38:43 -0400
Message-ID: <6C1FF371E2319F45BABA49F9BA1BD0391B2AAE@mail.lou.emergint.com>
To: <xmlschema-dev@w3.org>
I am new to the list and pretty new to schema definitions, although I
work with XML and XSLT a lot.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~

I am trying to define multiple schema's that reference each other and am
running into some problems. When I try and validate my Source XML with
the Source Schema (books.xsd), I get the error: "Cannot find the
declaration of element 'book'." Based on what I know, the schema
definitions and the import is correct but, obviously, there is a
problem. Can someone provide some direction. 

Source XML:

	<book xmlns="http://books/ <BLOCKED::http://books/> "
xmlns:money="http://money/ <BLOCKED::http://money/> ">
	   <author>Charles Dickens</author>
	   <title>Oliver Twist</title>
	   <money:gbp>20</money:gbp>
	   <money:dollar>40</money:dollar>
	</book>

Source XSD (books.xsd):

	<xs:schema
	   targetNamespace="http://books/ <BLOCKED::http://books/> "
	   xmlns="http://books/ <BLOCKED::http://books/> "
	   xmlns:xs="http://www.w3.org/2001/XMLSchema
<BLOCKED::http://www.w3.org/2001/XMLSchema> "
	   xmlns:money="http://money/ <BLOCKED::http://money/> "
	   elementFormDefault="qualified"
	   attributeFormDefault="unqualified">

	   <xs:import namespace="http://money/ <BLOCKED::http://money/>
" schemaLocation="Money.xsd"/>

	   <xs:element name="book">
	      <xs:complexType>
	         <xs:sequence>
	            <xs:element name="author" type="xs:string"/>
	            <xs:element name="title" type="xs:string"/>
	            <xs:element ref="money:gbp"/>
	            <xs:element ref="money:dollar"/>
	         </xs:sequence>
	      </xs:complexType>
	   </xs:element>
	</xs:schema>

 

Imported Schema Number 2 (money.xsd):

	<xs:schema
	   xmlns="http://money/ <BLOCKED::http://money/> "
	   targetNamespace="http://money/ <BLOCKED::http://money/> "
	   xmlns:xs="http://www.w3.org/2001/XMLSchema
<BLOCKED::http://www.w3.org/2001/XMLSchema> ">
	   
	   <xs:element name="gbp" type="xs:integer" />
	   <xs:element name="dollar" type="xs:integer" />
	</xs:schema>

	 

 
Received on Tuesday, 30 August 2005 02:30:39 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:14:50 GMT