[Home] [By Thread] [By Date] [Recent Entries]

  • To: xml-dev@l...
  • Subject: XML Schema and instance documents
  • From: Jack Matheson <jack@s...>
  • Date: Fri, 3 Feb 2006 14:31:51 -0600

Can anyone tell me how a schema-aware validating parser decides which  
schema to use in this case:

ns1.xsd:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"  
targetNamespace="ns1">
    <xs:import schemaLocation="import.xsd" namespace="ns2"/>

    <xs:element name="root"/>
</xs:schema>

import.xsd:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"  
targetNamespace="ns2">
    <xs:element name="child"/>
</xs:schema>

ns2.xsd:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"  
targetNamespace="ns2">
    <xs:element name="child"/>
</xs:schema>

test.xml:
<a:root xmlns:a="ns1" xmlns:xsi="http://www.w3.org/2001/XMLSchema- 
instance"
               xsi:schemaLocation="ns ns1.xsd ns2 ns2.xsd">
    <child xmlns="ns2"/>
</a:root>

If I remove the "ns2 ns2.xsd" pairing from the instance document's  
xsi:schemaLocation attribute, the rule defined by
import.xsd will be used. What happens when this attribute is left in?  
Is it up to the processor to decide?

Any help is appreciated!

-Jack


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member