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

RE: Validation with multiple schemas

From: Priscilla Walmsley <priscilla@walmsley.com>
Date: Tue, 13 Aug 2002 13:25:14 -0400
To: <daves.subscriptions@SAFe-mail.net>, <xmlschema-dev@w3.org>
Message-ID: <002301c242ee$636135c0$339afea9@WALMSLEYPH>

Hi Dave,

Your instance is using an old namespace - it should be "2001" instead of
"2000/10", like this:

> t.xml:
> <?xml version="1.0" encoding="UTF-8"?>
> <foo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
> xmlns="t" xsi:schemaLocation="t t.xsd s s.xsd" xmlns:s="s" 
> s:type="bar"/>
 

Hope that helps,
Priscilla
-----------------------------------------------------
Priscilla Walmsley             priscilla@walmsley.com
Author, Definitive XML Schema     (Prentice Hall PTR)
----------------------------------------------------- 

> -----Original Message-----
> From: xmlschema-dev-request@w3.org 
> [mailto:xmlschema-dev-request@w3.org] On Behalf Of 
> daves.subscriptions@SAFe-mail.net
> Sent: Monday, August 12, 2002 4:05 PM
> To: xmlschema-dev@w3.org
> Subject: Validation with multiple schemas
> 
> 
> 
> 
> 
> 
> I am trying to get a parser to validate an XML file that uses 
> a schema which includes another schema definition.  All I 
> want to do is define an attribute in one schema/namespace and 
> reference it as a required attribute in another schema.  I've 
> simplified the example to 3 files: t.xsd includes s.xsd, and 
> t.xml is my instance doc.
> 
> t.xsd (define element foo that requires s:type attribute):
> <?xml version="1.0" encoding="UTF-8"?>
> <xsd:schema targetNamespace="t" xmlns:s="s" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
> attributeFormDefault="unqualified">
> 	<xsd:import namespace="s" schemaLocation="s.xsd"/>
> 	<xsd:element name="foo">
> 		<xsd:complexType>
> 			<xsd:attribute ref="s:type" use="required"/>
> 		</xsd:complexType>
> 	</xsd:element>
> </xsd:schema>
> 
> s.xsd:
> <?xml version="1.0"?>
> <xsd:schema targetNamespace="s" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> 	<xsd:attribute name="type" type="xsd:string"/>
> </xsd:schema>
> 
> t.xml:
> <?xml version="1.0" encoding="UTF-8"?>
> <foo xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" 
> xmlns="t" xsi:schemaLocation="t t.xsd s s.xsd" xmlns:s="s" 
> s:type="bar"/>
> 
> If you read this far, thanks a lot.
> 
> XML Spy 4.4 says it is valid and Xerces 2.0.2 doesn't complain:
> 
> java -cp 
> c:\xerces\xerces-2_0_2\xercesImpl.jar;c:\xerces\xerces-2_0_2\x
> ercesSamples.jar;c:\xerces\xerces-2_0_2\xmlParserAPIs.jar 
> sax.Counter -dv -s -v t.xml
> t.xml: 541 ms (1 elems, 1 attrs, 0 spaces, 0 chars)
> 
> (Note: I had to use -dv and -s along with -v or I would get errors)
> 
> If I remove s:type="bar" from t.xml, though, XML Spy 
> correctly says it is invalid while Xerces is still silent.
> 
> If you think this is really just a Xerces bug, I will ask 
> somewhere else, but I'm more worried that I'm doing something 
> fundamentally wrong.
> 
> If there is another parser/version that I could use to test 
> my validation, I'd appreciate the tip also.
> 
> Thanks for any insights,
> -- Dave
> 
> 
> 
Received on Tuesday, 13 August 2002 13:27:53 GMT

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