我有一个XSD Schema,它使用命名空间来使具有相同名称的元素可以区分。我正在使用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?