次のようなスキーマは可能ですか。
<xs:complexType name="GroupType">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element type="PageType" name="Page" minOccurs="0" maxOccurs="unbounded"/>
<xs:element type="GroupType" name="Group" minOccurs="0" maxOccurs="unbounded"/>
<xs:element type="ResourcesType" name="Resources" minOccurs="0" maxOccurs="1"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
..異なる要素タイプが別々のリストにあるような方法でアンマーシャリングされますか? 例えば:
public class GroupType {
List<PageType> page;
List<GroupType> group;
ResourcesType resources;
...
}
JAXB のデフォルトの動作は、一致するすべての要素をchoice
1 つの汎用リストに結合することです。マーシャリング時に正確なドキュメントを順序付けたり再作成したりすることは気にしないので、正確なレプリカではなく、データをより適切に整理する方が便利です。