[XMLSCHEMA-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

implementing redefines - additional test

From: Kasimier Buchcik <kbuchcik@4commerce.de>
Date: Fri, 12 Aug 2005 18:40:34 +0200
To: XML-SCHEMA <xmlschema-dev@w3.org>
Message-Id: <1123864834.16773.22.camel@librax>
implementing redefines - additional test

Hi,

this is a supplement to the mail:
http://lists.w3.org/Archives/Public/xmlschema-dev/2005Aug/0018.html

An additional _very_ interesting test; I'm still using XSV 2.10-1 and
Xerces-J 2.7.1:

base.xsd
--------
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:simpleType name="base">
		<xs:restriction base="xs:integer">
			<xs:maxInclusive value="5"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>

dummy.xsd (just defines a type "dummy")
---------
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">	
	<xs:simpleType name="dummy">
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
</xs:schema>

final7.xsd
----------
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">		
	<xs:include schemaLocation="base.xsd"/>
	<xs:redefine schemaLocation="dummy.xsd">
        	<!-- Note that we are redefining "base",
		     but "base" is not in "dummy.xsd".
		-->
		<xs:simpleType name="base">
			<xs:restriction base="base">
				<xs:maxInclusive value="4"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:redefine>	
	<xs:element name="foo" type="base"/>
</xs:schema>

instance.xml
------------
<foo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:noNamespaceSchemaLocation="final7.xsd">
	5
</foo>

Validation of instance.xml with final7.xsd
------------------------------------------

Xerces-J:
instance.xml:5,7: (Error) cvc-maxInclusive-valid: Value '5' is not
facet-valid with respect to maxInclusive '4' for type 'base'.
instance.xml:5,7: (Error) cvc-type.3.1.3: The value '5' of element 'foo'
is not valid.

XSV:
instance.xml:1,22: element content failed type check: 5 >4


Although we redefine "dummy.xsd", which neither contains, nor
includes/imports the "base" type, this type was somehow redefined;
then the value "5" in the instance was recognized to be invalid.
Is this the expected behaviour or a bug? Need the redefined
component not to be found when following the schema graph, starting
with the explicitely mentioned redefined document?
If the behaviour is expected, then what's the sense of the
schemaLocation attribute of a <redefine>, if we just need to
<include> the component to be able to redefine it?

Regards,

Kasimier
Received on Friday, 12 August 2005 16:40:38 GMT

Subscribe to the Stylus Scoop newsletter for helpful XML tips and tutorials.
Email
First Name
Last Name
Company

Download Stylus Studio 6 XML Enterprise Edition

Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.