JAXB:使用本地schemaLocation生成Java类
我正在尝试使用 JAXB 附带的 xjc 命令从 XSD 模式生成 Java 类。
我的架构如下所示:
<xs:schema xmlns="..."
xmlns:ext="http://schemas.myco.com/ext" ... >
<xs:import namespace="http://schemas.myco.com/ext"
schemaLocation="http://myco.com/schemas/ext.xsd"/>
...
问题是 schemaLocation
URI 不存在,我无法修改 XSD 文件。这就是为什么生成过程失败并出现错误,例如“src-resolve:无法将名称'ext:Resource_Type'解析为(n)'类型定义'组件”。
有没有办法强制 JAXB 在该过程中使用 ext.xsd 文件的本地副本而不修改原始 XSD 文件?
I am trying to generate Java classes from a XSD schema using the xjc
command that comes with JAXB.
My schema looks like:
<xs:schema xmlns="..."
xmlns:ext="http://schemas.myco.com/ext" ... >
<xs:import namespace="http://schemas.myco.com/ext"
schemaLocation="http://myco.com/schemas/ext.xsd"/>
...
The problem is that the schemaLocation
URI does not exist and I can not modify the XSD file. That is why the generation process fails with errors such as "src-resolve: Cannot resolve the name 'ext:Resource_Type' to a(n) 'type definition' component".
Is there any way to force JAXB to use a local copy of ext.xsd file during the process without modifying the original XSD file ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
两种可能的解决方案:
JAXB Episode 文件:
http://weblogs.java.net/blog /2006/09/05/separate-compilation-jaxb-ri-21
或
XML 目录(搜索 Google)
Two possible solutions:
JAXB Episode File:
http://weblogs.java.net/blog/2006/09/05/separate-compilation-jaxb-ri-21
or
XML Catalogs (search Google)