Я успешно прочитал схему XSD с помощью org.eclipse.xsd.util.XSDResourceImpl
и процесс всех содержащихся XSD элементов, типов, атрибутов и т.д.
Но когда я хочу, чтобы обработать ссылку на элемент, объявленном в импортированная схема, я получаю ее null
. Кажется, импортированные схемы не обрабатываются XSDResourceImpl
. Любая идея?Чтение XSD с помощью org.eclipse.xsd.util.XSDResourceImpl
final XSDResourceImpl rsrc = new XSDResourceImpl(URI.createFileURI(xsdFileWithPath));
rsrc.load(new HashMap());
final XSDSchema schema = rsrc.getSchema();
...
if (elem.isElementDeclarationReference()){ //element ref
elem = elem.getResolvedElementDeclaration();
}
XSDTypeDefinition tdef = elem.getType(); //null for element ref
Update:
Я сделал импортированные XSD недействительным, но не получаю исключение. Это означает, что он действительно не разбирается. Есть ли способ принудительно загрузить импортированный XSD вместе с основным?