2011-10-27 54 views
1

使用模式和XML文件我試圖創建一個類型A的元素,它可以包含類型A,B和C的嵌套元素。元素類型A,B和C是所有的X類型的擴展。所以我想創建一個類型元素的內部,並認爲我可以添加任何元素A,B或C以我想要的任何順序。只有A可以有嵌套元素。我喜歡這個實現,因爲嵌套元素的排序對我們的數據模型很重要,而且這些元素在系統中將是各種順序。無序類型的Jaxb序列

<A> 
    <B></B> 
    <B></B> 
    <A> 
     <B></B> 
     <B></B> 
     <C></C> 
     <C></C> 
    </A> 
    <C></C> 
</A> 

我試着在XSD文件中做一些事情來使這個合法。

<xs:complexType name="A"> 
    <xs:complexContent> 
     <xs:extension base="X" > 
     <xs:sequence> 
     <xs:element name="a" type="A" minOccurs="0" /> 
     <xs:element name="b" type="B" minOccurs="0" /> 
     <xs:element name="c" type="C" minOccurs="0" /> 
     </xs:sequence> 
     </xs:extension> 
     </xs:complexContent> 
</xs:complexType> 

,我試圖使該序列僅包含抽象類型X的元素,以爲我可以使用的具體類型的XML文件中的一個B和C,但得到了標記爲錯誤。

回答