xjc とカスタマイズされたバインディングを使用して XMLElementWrapper アノテーションを生成する方法 質問する

xjc とカスタマイズされたバインディングを使用して XMLElementWrapper アノテーションを生成する方法 質問する

私は 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

おすすめ記事