Sprawdź poprawność pliku XML w wielu definicjach schematu

Próbuję zweryfikować plik XML pod kątem różnych schematów (przeprosiny za wymyślony przykład):

a.xsdb.xsdc.xsd

c.xsd w szczególności importuje b.xsd i b.xsd importuje a.xsd, używając:

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

Próbuję to zrobić za pośrednictwem Xerces w następujący sposób:

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

ale nie jest w stanie poprawnie zaimportować wszystkich trzech schematów, w wyniku czego nie można rozwiązać nazwy „bla” na składnik (n) „grupa”.

Sprawdziłem to pomyślnie, używającPyton, ale z prawdziwymi problemamiJava 6.0 iXerces 2.8.1. Czy ktoś może zasugerować, co się tutaj dzieje, lub łatwiejsze podejście do sprawdzania poprawności moich dokumentów XML?

questionAnswers(6)

yourAnswerToTheQuestion