Validar um arquivo XML em várias definições de esquema

Estou tentando validar um arquivo XML em vários esquemas diferentes (desculpas pelo exemplo inventado):

a.xsdb.xsdc.xsd

O c.xsd, em particular, importa as importações de b.xsd e b.xsd a.xsd, utilizando:

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

Estou tentando fazer isso via Xerces da seguinte maneira:

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)));

mas isso não está conseguindo importar todos os três esquemas corretamente resultando em não pode resolver o nome 'blah' para um (n) componente 'group'.

Eu validei isso com sucesso usandoPython, mas tendo problemas reais comJava 6.0 eXerces 2.8.1. Alguém pode sugerir o que está errado aqui ou uma abordagem mais fácil para validar meus documentos XML?

questionAnswers(6)

yourAnswerToTheQuestion