順序を維持する選択グループ拡張を持つクラスを xjc で生成するのに問題があります。次のスキーマは一例です。
<xs:complexType name="base">
<xs:choice maxOccurs="unbounded">
<xs:element name="a" />
<xs:element name="b" />
</xs:choice>
</xs:complexType>
<xs:complexType name="extended">
<xs:complexContent>
<xs:extension base="base">
<xs:choice>
<xs:element name="c" />
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
問題は、次の xml の場合に順序を維持できるように、基本クラスと拡張クラスの両方が基本リスト プロパティに追加するだけでなく、リスト プロパティを含むことになります。
<extended>
<a />
<c />
<b />
</extended>
binding.xjb でプロパティ名を手動で同じに設定しようとしましたが、名前の競合が原因で問題が発生しています。