Hi Nick,

nicholas.ard...@immi.gov.au wrote on 05/28/2009 01:38:59 AM:

> Hi Michael,
>
> My indication of the JDK was misleading as I am using the Apache release
> but only version 2.6.2.

Sure, but Xerces-J 2.6.2 pre-dates JAXP 1.3 so it's impossible to use its
JAXP SchemaFactory / Schema implementation. It doesn't exist in that
release.

> A test using 2.9.1 reveals that the "honour-all-schemaLocations" feature
is
> available for the XMLGrammarLoader in that release (but wasn't available
in
> 2.6.2).

As documented [1] it only came into existence in Xerces-J 2.7.0.

> And it results in a call to the XMLErrorHandler warning() method, which
is
> great.

Yep. A failed import is merely a warning.

> The JAXP newSchema() instantiation doesn't pick it up in either version,
> perhaps because its a warning and not an error (?)
> Thanks for your help.

I think in both cases you probably got the implementation from the JDK.
Some versions of Java have a bug in SchemaFactory (the abstract base class)
which cause it to load the JDK internal implementation instead of the one
(e.g. Xerces) which should be found on the classpath.

> Regards,
> Nick.

Thanks.

[1]
http://xerces.apache.org/xerces2-j/features.html#honour-all-schemaLocations

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: mrgla...@ca.ibm.com
E-mail: mrgla...@apache.org

Reply via email to