Это просто, после многократного поиска я нашел четкие шаги для обозначения всего файла журнала сбоев.
счастливое кодирование,
Рияз
Итак, на случай, если кто-то еще столкнется с той же проблемой здесь, мне нужно было загрузить родительскую схему (и неявные дочерние схемы) из модульного теста - в качестве ресурса - для проверки строки XML. . Для этого я использовал Xerces XMLSchemFactory вместе с валидатором Java 6.
Чтобы правильно загрузить дочернюю схему через включение, мне пришлось написать собственный преобразователь ресурсов. Код можно найти здесь:
Чтобы использовать преобразователь, укажите его на фабрика схемы:
xmlSchemaFactory.setResourceResolver(new ResourceResolver());
и будет использовать ее для разрешения ваших ресурсов через путь к классам (в моем случае из src / main / resources). Любые комментарии по этому поводу приветствуются ...
Схема в Xerces (а) очень и очень педантична и (б) выдает совершенно бесполезные сообщения об ошибках, когда ему не нравится то, что он находит. Это разочаровывающая комбинация.
Материал схемы в python может быть гораздо более снисходительным, и позволял небольшим ошибкам в схеме проходить мимо незарегистрированных.
Теперь, если, как вы говорите, c.xsd включает b.xsd, а b.xsd включает a.xsd, тогда нет необходимости загружать все три в фабрику схем. Это не только не нужно, но и, скорее всего, запутает Xerces и приведет к ошибкам, так что это может быть вашей проблемой. Просто передайте c.xsd фабрике, и пусть он сам разрешит b.xsd и a.xsd, что он и должен делать относительно c.xsd.