Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JAXB从XSD为complextype和element ref生成两次类_Java_Xml_Xsd_Jaxb - Fatal编程技术网

Java JAXB从XSD为complextype和element ref生成两次类

Java JAXB从XSD为complextype和element ref生成两次类,java,xml,xsd,jaxb,Java,Xml,Xsd,Jaxb,我的场景:complexType和一个元素,该元素使用该complexType的别名(它们有不同的名称)。它们都有注释文档 这将导致Status.java和StatusType.java具有完全相同的内容。(其中只有一个包含XmlRootElement) 一些医生。 一些医生。 然而,当我从元素中仅删除注释文档时,我只得到一个生成的

我的场景:complexType和一个元素,该元素使用该complexType的别名(它们有不同的名称)。它们都有注释文档

这将导致Status.java和StatusType.java具有完全相同的内容。(其中只有一个包含XmlRootElement)


一些医生。
一些医生。
然而,当我从元素中仅删除注释文档时,我只得到一个生成的,这实际上是预期的结果! 如何配置此行为?:)我想保持XSD不变,因为它是由不同的供应商提供的,不是由我们公司开发的,但我不希望类重复


谢谢

我们在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构建成功了

<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"/>