strict validation of any ##other namespace

If I have a schema 1:

<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://test.org" xmlns:b="http://test.org"
xmlns="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified" attributeFormDefault="unqualified">
	<element name="a" type="b:aType">

	</element>
	<complexType name="aType">
	<sequence>
	           <any namespace="##other" minOccurs="1" maxOccurs="1"/>
	</sequence>
	</complexType>
</schema>


and schema 2:

<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://test.com" xmlns:b2="http://test.com"
xmlns="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified" attributeFormDefault="unqualified">
	<element name="a2" type="string">

	</element>
</schema>


and an instance 

<?xml version="1.0" encoding="utf-8"?>
<b:a xmlns:b="http://test.org" xmlns:b2="http://test.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://test.com test2.xsd"
>
<b2:a2>hello</b2:a2>
</b:a>

it is valid if I specify the schema for http://test.org programmatically (in
the validators I've tested so far). however I would like to remove
xsi:schemaLocation and instead specify it all programmatically. I can do
this in MSXML and .Net without a problem. I assume that the major Java
libraries and probably projects like libxml provide the same functionality -
am I correct in this assumption? Is there any wide-spread API that would not
allow me to build up a set of schemas for validating the instance so that my
processContents="strict" will validate without use of xsi:schemaLocation. 

Received on Friday, 7 October 2005 10:36:32 UTC