JAXB: Как изменить имена классов, сгенерированных XJC, если в XSD указан тип attr?

Я новичок в JAXB, и я ' m возникают неприятные проблемы при создании классов Java с помощью xjc. Мне предоставлен такой XSD:

<xs:element name="item" type="itemType"/>  
...   
<xs:complexType name="itemType">
    <xs:attribute name="id" type="xs:string" use="required">
    ...     
</xs:complexType>

и xjc генерирует класс с именем ItemType.java , но я хочу, чтобы имя было Item.java . То есть я хочу, чтобы сгенерированные классы выглядели так, как если бы XSD был таким:

<xs:element name="item">
    <xs:complexType>
    <xs:attribute name="id" type="xs:string" use="required">
        ...
    </xs:complexType>
</xs:element>

Не будет никакого повторного использования itemType для любого другого элемента, это нравится людям, которые конструируют XSD. Думаю, есть способ сделать это с помощью пользовательских привязок, но я до сих пор не нашел, как это сделать.

Любая помощь?

Спасибо, Miguel

40
задан skaffman 27 January 2011 в 15:34
поделиться