JAXB为XSD

时间:2015-12-01 14:40:33

标签: java xml xsd jaxb

我的方案: 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不变,因为它是由我们公司开发的不同供应商提供的,但我不希望类重复。

谢谢!

1 个答案:

答案 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构建成功。