在编组上禁用JAXB名称空间替换?

时间:2013-05-13 13:16:30

标签: java xml jaxb marshalling xml-namespaces

我有一个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?

0 个答案:

没有答案