Valide un archivo XML contra múltiples definiciones de esquema

Estoy tratando de validar un archivo XML contra una serie de esquemas diferentes (disculpas por el ejemplo creado):

a.xsdb.xsdc.xsd

c.xsd en particular importa b.xsd y b.xsd importa a.xsd, usando:

<xs:include schemaLocation="b.xsd"/>

Estoy tratando de hacer esto a través de Xerces de la siguiente manera:

XMLSchemaFactory xmlSchemaFactory = new XMLSchemaFactory();
Schema schema = xmlSchemaFactory.newSchema(new StreamSource[] { new StreamSource(this.getClass().getResourceAsStream("a.xsd"), "a.xsd"),
                                                         new StreamSource(this.getClass().getResourceAsStream("b.xsd"), "b.xsd"),
                                                         new StreamSource(this.getClass().getResourceAsStream("c.xsd"), "c.xsd")});     
Validator validator = schema.newValidator();
validator.validate(new StreamSource(new StringReader(xmlContent)));

pero esto falla al importar los tres esquemas correctamente, lo que resulta en que no se puede resolver el nombre 'blah' a un (n) 'grupo' componente.

He validado esto con éxito usandoPitón, pero teniendo problemas reales conJava 6.0 yXerces 2.8.1. ¿Alguien puede sugerir qué está mal aquí o un enfoque más sencillo para validar mis documentos XML?

Respuestas a la pregunta(6)

Su respuesta a la pregunta