Import doesn't make one schema define multiple namespaces. A processor is
not required to resolve or remember the schemaLocation of an imported
schema. Specify the schemaLocation for both schemas in your instance
document, e.g.,

xsi:schemaLocation='http://foo.com/namespace1 ns1.xsd
  http://foo.com/namespace2 ns2.xsd'>

Bob Foster

----- Original Message ----- 
From: "Adachi Seiichi" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, August 25, 2003 3:39 AM
Subject: Schema validation using multiple schemas


> Hi All,
>
> I am trying to validate an xml file using multiple schema files using
> Xerces-J 2.5.0.  The xml file specifies the location of schema#1 using
> schemaLocation.  Inside of schema#1, schema#2 is specified using
> xsd:import.  I get an error when the root element of the xml file is an
> element defined in schema#2.
>
> I have used the sample program dom.Counter that comes with Xerces-J
> 2.5.0, and get the error :
>   [Error] test.xml:4:70: cvc-elt.1: Cannot find the declaration of
> elment 'ns2:report'.
> (I have tried using XML Spy Ver.5 Rel.4 and the DOMCount.exe of Xerces-C
> 2.3.0 but
> do not get an error.)
>
> Any help will be greatly appreciated.  Here is the sample data I used:
>
> test.xml
> --------
> <ns2:report xmlns='http://foo.com/namespace1'
>    xmlns:ns2='http://foo.com/namespace2'
>    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
>    xsi:schemaLocation='http://foo.com/namespace1 ns1.xsd'>
>       <textData>sample XML file</textData>
> </ns2:report>
>
> ns1.xsd (Schema#1)
> ------------------
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>             targetNamespace="http://foo.com/namespace1"
>             xmlns="http://foo.com/namespace1"
>             xmlns:ns2="http://foo.com/namespace2"
>             elementFormDefault="qualified">
>
>   <xsd:import namespace="http://foo.com/namespace2"
>    schemaLocation="ns2.xsd" />
>
>   <xsd:element name="textData" type="xsd:string"
> substitutionGroup="ns2:body"/>
>
> </xsd:schema>
>
> ns2.xsd (Schema#2)
> ------------------
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>             targetNamespace="http://foo.com/namespace2"
>             xmlns="http://foo.com/namespace2"
>             elementFormDefault="qualified">
>
>   <xsd:element name="report">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element ref="body"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>
>   <xsd:element name="body" type="xsd:string"/>
>
> </xsd:schema>
>
> Thanks,
>
> Seiichi
>
> _________________________________________________________________
> 会員登録は無料  充実した出品アイテムなら MSN オークション
> http://auction.msn.co.jp/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to