[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XML Schema and instance documents
Excellent, that's what I was hoping for =) Thanks again, -Jack > The spec gives implementations great latitude on this. I think that > conforming processors could choose whichever definition they hit > first, or > they could throw an error because there is more than one definition of > {ns2}child, or they could recognize that the two definitions are > actually > equivalent and avoid throwing the error. It's best to avoid the > situation > arising. > > Saxon will tend to do the first of these: if you've already got a > schema (a > set of schema components) for namespace {ns2} in your cache, then > an import > of that namespace is a no-op, even if the schema location is > different. This > is justified on the basis that the schema location is only a > "hint". As a > general rule, it's troublesome to have several schemas in existence > for the > same namespace - even though there are very good reasons for doing > it, such > as validating the same document at different stages in its lifecycle. > > Michael Kay > http://www.saxonica.com/ > >> -----Original Message----- >> From: Jack Matheson [mailto:jack@s...] >> Sent: 03 February 2006 20:32 >> To: xml-dev@l... >> Subject: XML Schema and instance documents >> >> 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 >> >> >> ----------------------------------------------------------------- >> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an >> initiative of OASIS <http://www.oasis-open.org> >> >> The list archives are at http://lists.xml.org/archives/xml-dev/ >> >> To subscribe or unsubscribe from this list use the subscription >> manager: <http://www.oasis-open.org/mlmanage/index.php> >> >> > > > > ----------------------------------------------------------------- > The xml-dev list is sponsored by XML.org <http://www.xml.org>, an > initiative of OASIS <http://www.oasis-open.org> > > The list archives are at http://lists.xml.org/archives/xml-dev/ > > To subscribe or unsubscribe from this list use the subscription > manager: <http://www.oasis-open.org/mlmanage/index.php> > >
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|