我有两个XML模式。第一的 (A.xsd)位于图书馆罐文件中(mylib.jar)和第二个(B.xsd)在我的项目中。

我想导入 A.xsd 进入 B.xsd 并通过验证传入的XML通过 Jaxb2Marshaller 嵌入式验证器。

但是我无法使其正常工作:看来Inner XML的验证器 Jaxb2Marshaller 不理解jar-files中对文件的引用(我只想写类似的东西 <xs:import namespace="http://my/schema.xsd" schemaLocation="classpath:schema.xsd">).

如何修复?如何从项目模式中引用图书馆模式?

有帮助吗?

解决方案

查看我对以前的问题的答案,该问题如何使用ResourceResolver来解决此问题:

您的Lsresourceresolver实现将处理从类路径中加载架构并将其转换为适当的结果。

其他提示

您将需要配置自己的解析器。 JAXB中的任何内容都不会使用ClassPath:。

有一个JAXB样本显示了此类内容。

ClassPath:不是模式位置的有效URL。您将不得不使用 XML目录 从罐子里加载模式。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top