【发布时间】:2016-08-23 20:36:48
【问题描述】:
我使用 org.eclipse.xsd.util.XSDResourceImpl 成功读取了 XSD 架构并处理了所有包含的 XSD 元素、类型、属性等。
但是,当我想处理对导入模式中声明的元素的引用时,我得到null 作为它的类型。 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
更新:
我使导入的 XSD 无效,但没有例外。这意味着它真的没有被解析。有什么办法可以强制将导入的 XSD 与主要的 XSD 一起加载?
【问题讨论】: