私は JAXB と xjc を使用して XML スキーマを Java クラスにコンパイルしています。生成されたクラスを手動で編集したくありません。次のような XML スキーマがあります:
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="items">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
xjc はItems
、オブジェクトのリストのみを含むクラスを生成しますItem
。クラスを省略してItems
、クラス内にオブジェクトのリストをItem
直接含めることはできますかRoot
?
これを注釈で実行できることはわかっています@XMLElementWrapper
が、xjc にそれを作成するように指示する方法がわかりません。
ご提案があればよろしくお願いします!
よろしくお願いいたします、マルクス
ベストアンサー1
Bjarne Hansen は、この問題に対処できる xjc 用のプラグインを開発しました。残念ながら、元の実装へのリンクは現在無効になっています。ただし、github には、Bjarne の元のコードをベースにいくつかの改良を加えた Dmitry Katsubo のプロジェクトがあります。
→https://github.com/dmak/jaxb-xew-plugin
(参考までに:元のリンクは現在無効です:http://www.conspicio.dk/blog/bjarne/jaxb-xmlelementwrapper-plugin)