У меня есть XML-файл, который выглядит следующим образом:
<RootItem>
<Items>
<Item />
<Item />
<Item />
</Items>
<Values>
<Value />
<Value />
<Value />
</Values>
<AnotherItem />
</RootItem>
Я использую Trang, чтобы перевести это в схему .xsd, и использую xjc, чтобы перевести схему в аннотированные Java-классы (которые гладко работают с jaxB для маршалинга и демаршаллинга моих документов). Моя единственная проблема в том, что xjc дает мне эти классы:
- RootItem.java
- Items.java
- Item.java
- Values.java
- Value.java
- ObjectFactory.java (требуется JaxB)
Мне не нужен класс "Items" или "Values". Как мне отформатировать схему, чтобы она игнорировала родительский элемент и просто создала объект «Список элементов» в моем классе RootItem?
Что я хочу:
- RootItem.java
- Item.java
- Value.java
- ObjectFactory.java (требуется JaxB)
Спасибо!
Редактировать: вот схема, сгенерированная Трангом:
<xs:element name="RootItem">
<xs:complexType>
<xs:sequence>
<xs:element ref="Items"/>
<xs:element ref="Values"/>
</xs:sequence>
<xs:element name="AnotherItem" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="Items">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="Item"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Values">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="Value"/>
</xs:sequence>
</xs:complexType>
</xs:element>