名前空間を使用して同じ名前の要素を区別できるようにする 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>
名前空間の置換をスキップし、XSD スキーマで定義されている方法で XML をマーシャリングするように JAXB に指示する方法はありますか?