我有一个 XSD 架构,它使用名称空间来区分具有相同名称的元素。我正在使用 Maven 插件 jaxb2-maven-plugin 生成 JAXB 绑定。
在编组我的 JAXB 对象时,JAXB 用根节点中的标识符替换每个名称空间。XML 仍然有效,但我的应用程序用户的可读性(或可识别性)受到影响。
它应该是什么样子:
<Root xmlns="http://somenamespace.com/Root">
<Config xmlns="http://somenamespace.com/ConfigTypeOne"/>
<Config xmlns="http://somenamespace.com/ConfigTypeTwo"/>
</Root>
编组后的样子:
<Root xmlns="http://somenamespace.com/Root" xmlns:ns1="http://somenamespace.com/ConfigTypeOne" xmlns:ns2="http://somenamespace.com/ConfigTypeTwo">
<ns1:Config/>
<ns2:Config/>
</Root>
有没有办法告诉 JAXB 跳过命名空间的替换并按照 XSD 模式中定义的方式编组 XML?