Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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 XJC生成的类的问题_Java_Xml_Jaxb - Fatal编程技术网

Java XJC生成的类的问题

Java XJC生成的类的问题,java,xml,jaxb,Java,Xml,Jaxb,我有一个xsd,如下所示 <xs:element name="package"> ..... <xs:element name="package"> ..... <xs:element name="package"> ...... </xs:element> </xs:element> </xs:

我有一个xsd,如下所示

  <xs:element name="package">
     .....
       <xs:element name="package">
        .....
          <xs:element name="package">
            ......
           </xs:element>
        </xs:element>
     </xs:element>
表示目标节点过多是一个错误。如何解决这个问题 请帮我做这个


更新:如果我在绑定文件中放入
multiple=“true”
,它会在所有地方替换,从而导致相同的编译错误

您认为这样做是一种好的xsd设计吗。 也许最好定义一个名为“package”的复杂类型,所有字段都标记为choice,并且只处理主元素中的元素引用。“MainPackage”之类的

在这种情况下,JaxBinding只为类型“package”创建一个类

看看意大利腊肠片或威尼斯百叶窗设计。 这些xsd设计与JaxB配合得非常好,因为它们与面向对象的结构及其关联更为相关

另一种解决方案可能是使用包元素的不同目标命名空间。
在这种情况下,包类型的限定类名会根据名称空间而改变。但在我看来,这也不是一个好的设计。

你认为这样做是一个好的xsd设计吗。 也许最好定义一个名为“package”的复杂类型,所有字段都标记为choice,并且只处理主元素中的元素引用。“MainPackage”之类的

在这种情况下,JaxBinding只为类型“package”创建一个类

看看意大利腊肠片或威尼斯百叶窗设计。 这些xsd设计与JaxB配合得非常好,因为它们与面向对象的结构及其关联更为相关

另一种解决方案可能是使用包元素的不同目标命名空间。 在这种情况下,包类型的限定类名会根据名称空间而改变。但在我看来,这也不是一个好的设计

<jaxb:bindings 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
    version="2.1">
    <jaxb:globalBindings/>
    <jaxb:bindings schemaLocation="CoveragesWithIIRolesresponse.xsd">
            <jaxb:bindings node="//xs:element[@name='package']">
                    <jaxb:class name="Fault2"/>
            </jaxb:bindings>
    </jaxb:bindings>
</jaxb:bindings>