【问题标题】:Set XmlType during xjc class generation在 xjc 类生成期间设置 XmlType
【发布时间】:2013-09-17 10:13:09
【问题描述】:
我通过 maven 使用 xjc 来生成源代码。我正在使用 XSD 和绑定文件。我希望我生成的类具有注释@XmlType(name = "")。我看不到如何将名称设置为空白。
我尝试过(以及其他想法)使用 annox:annotate("http://annox.dev.java.net") 和 annox:class="javax.xml.bind.annotation.XmlType" 进行注释,但这会添加另一个 @XmlType 注释而不是替换/覆盖现有的。
有没有办法将@XmlType 的名称设置为空白?
【问题讨论】:
标签:
java
maven
xsd
xjc
xmltype
【解决方案1】:
如果类型是匿名类型,name 留空。检查here(“映射类”部分)。
为此,您需要在 <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 {
}