2012-02-22 6 views
1

2つの異なる方法でマーシャリングして2つの異なるXMLファイルを生成する必要がある2つのプロパティ(名前、誕生日)を持つJavaでPersonクラス(@XmlRootElementと注釈付き)を持っています。最初のファイルで標準のJAXBを使用して同じオブジェクトを2つの異なる方法で整列しますか?

、Personオブジェクトにはnameプロパティのみを含める必要があります。第二のファイルで

<Person> 
    <name>John Doe</name> 
</Person> 

を、Personオブジェクトは、すべてのプロパティが含まれている必要があります。

<Person> 
    <name>John Doe</name> 
    <birthday>1980-01-01</birthday> 
</Person> 

JAXBでこれを達成する方法はありますか?

よろしく、 ヨッヘン

答えて

1

注:私はEclipseLink JAXB (MOXy)リードとJAXB 2 (JSR-222)専門家グループのメンバーです。

JAXBアノテーションを使用して1つの表現を提供し、MOXyの外部バインディング文書を活用して別の表現を提供することができます。

ユースケース1 - デフォルトMOXYの外部マッピングドキュメントによって表現

間のわずかな違いは、注釈が提供するメタデータを上書きするために使用されます。これにより、バージョン間の表現を微調整することができます。以下は、私は具体的な例を与えた答えへのリンクは次のとおりです。

ユースケース2 - 表現

MOXYの外部マッピングドキュメントをも使用することができます主な違いすべての注釈をオーバーライドします。これは、表現が関連していない場合に便利です。以下は、私は両方のGoogleとYahooの天気予報サービスに同じオブジェクトモデルにマップの例へのリンクです:詳細情報

+0

純粋なJAXBではありませんが、動作します:) – Jochen

関連する問題