3

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

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

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

怎么可能修好?如何从项目模式中引用库模式?

4

3 回答 3

4

查看我对先前关于如何使用 ResourceResolver 解决此问题的问题的回答:

您的 LSResourceResolver 实现将处理从类路径加载模式并将其转换为适当的结果。

于 2010-10-20T15:25:45.240 回答
1

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

有一个 JAXB 示例显示了这种情况。

于 2010-10-20T14:57:04.887 回答
0

类路径:不是架构位置的有效 url。您将不得不使用XML 目录从 jar 中加载模式。

于 2010-10-20T14:59:59.523 回答