JAXB - 如何将包前缀应用于所有xsds

时间:2017-02-03 14:32:50

标签: java xsd jaxb prefix

我正在尝试使用的项目使用XSD架构的多个版本,其中包含数百个其他XSD文件以形成该完整对象。

我目前有JAXB使用一些自定义绑定生成所有xsd文件的代码以删除重复项,但是当为其中一个较新版本生成相同的类文件时,它会覆盖原始文件。

我需要为所有生成的类添加前缀版本包前缀。

这个问题问了同样的问题而且没有得到解决。 jaxb xsd prefix package names

示例项目布局:

Version1\test.xsd-----------------------------(package foo)
Version1\externalXSDv1\external.xsd---(package bar)
Version2\test.xsd-----------------------------(package foo)
Version2\externalXSDv2\external.xsd---(package bar)

xsd文件包含相同的命名空间,大多数类都是相同的。

我需要使用'version1.foo'和'version1.bar'为所有version1生成的类添加前缀,而版本2生成的类将显示为'version2.foo'和'version2.bar'

任何想法如何做到这一点?

jaxb:schemaBindings不起作用,除非我指定每个xsd文件,并且-p将所有类放在同一个包中,这会删除所有原始包。

0 个答案:

没有答案