我的方案: complexType 和元素 别名此complexType(它们具有不同的名称)。它们都有注释 文档。
这会导致 Status.java和StatusType.java 具有完全相同的内容。 (只有其中一个使用XmlRootElement)
<xs:element name="Status" type="Status_Type">
<xs:annotation>
<xs:documentation xml:lang="en">Some docs.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="Status_Type">
<xs:annotation>
<xs:documentation xml:lang="en">Some docs.</xs:documentation>
</xs:annotation>
<xs:sequence>
<!-- some elements -->
</xs:sequence>
<xs:attribute name="Id" type="xs:ID"/>
</xs:complexType>
但是,当我删除仅来自元素的注释文档时,我只会一个 生成 Java 类这实际上是预期的结果! 如何配置此行为? :)我希望保持XSD不变,因为它是由我们公司开发的不同供应商提供的,但我不希望类重复。
谢谢!
答案 0 :(得分:0)
我们在XSD中发现了以下两个拼写错误的实例:
<xs:element name="SomeElement" type="Boolean_Type"/>
<xs:annotation>
<xs:documentation xml:lang="hu">SomeDocs</xs:documentation>
</xs:annotation>
<xs:element name="SomeOtherElement" type="Identifier_Type"/>
所以annotation-doc元素在元素的同一级别,而不是在它们内部。在修复它们之后,JAXB构建成功。