Установите XmlType во время создания класса xjc

Я использую xjc через maven для создания исходников. Я использую XSD и файл привязок. Я хотел бы, чтобы мои сгенерированные классы имели аннотацию @XmlType(name = ""). Я не понимаю, как сделать имя пустым.

Я пробовал (среди прочих идей) аннотировать с помощью annox:annotate("http://annox.dev.java.net") с annox:class="javax.xml.bind.annotation.XmlType", но при этом добавляется еще одна аннотация @XmlType, а не заменяется/перезаписывается существующая.

Есть ли способ сделать имя @XmlType пустым?


person user2786802    schedule 17.09.2013    source источник


Ответы (1)


name остается пустым, если Type является анонимным типом. Проверьте здесь (раздел "Отображение Учебный класс").

Для этого вам нужно объявить свой тип внутри тега <element>. На следующей схеме показан пример:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="Container">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="Item" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="Item">
        <xs:complexType >

        </xs:complexType>
    </xs:element>

</xs:schema>   

Здесь элемент Item имеет анонимный тип, а вот сгенерированный класс:

@XmlType(name = "")
@XmlRootElement(name = "Item")
public class Item {


}
person W Almir    schedule 18.09.2013