【发布时间】:2015-06-03 06:19:19
【问题描述】:
我正在尝试从一堆 xsd:s 中生成类,它们都包含相同的通用架构,简化后看起来像这样:
Schema1.xsd:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="namespace">
<xsd:include schemaLocation="common.xsd"/>
.....
</xsd:schema>
Schema2.xsd:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="namespace">
<xsd:include schemaLocation="common.xsd"/>
.....
</xsd:schema>
并且通用模式没有定义目标命名空间
现在当我尝试使用以下方法生成我的类时:
xjc -extension -episode episode.xjb -p se.test -encoding UTF-8 -mark-generated Schema1.xsd Schema2.xsd
我收到一条错误消息:两个声明导致 ObjectFactory 类中的冲突
它指向公共模式中的相同行号。有没有办法解决这个问题。如果我省略 package 参数,一切正常,但我想指定我自己的包。
【问题讨论】:
-
你可以为你的 XSD 使用不同的目标命名空间吗?
-
不,我无法更改 XSD