2008-08-28 41 views
8

我需要創建一個看起來像這樣的XML模式:XML模式構建「任何數量的這些元素 - 以任何順序」

<xs:element name="wrapperElement"> 
<xs:complexType> 
    <xs:sequence> 
     <xs:element type="el1"> 
     <xs:element type="el2"> 
    </xs:sequence> 

    <xs:WhatGoesHere?> 
     <xs:element type="el3"> 
     <xs:element type="el4"> 
     <xs:element type="el5"> 
    </xs:WhatGoesHere?> 

    <xs:sequence> 
     <xs:element type="el6"> 
     <xs:element type="el7"> 
    </xs:sequence> 
</xs:complexType> 
</xs:element> 

我需要的是「WhatGoesHere」的替代品,從而任何數量的el3,el4和el5都可以按任意順序出現。例如,它可能包含{el3,el3,el5,el3}

有關如何解決此問題的任何想法?

回答

13

你想xs:choice有發生限制:

<xs:element name="wrapperElement"> 
    <xs:complexType> 
    <xs:sequence> 
     <xs:element name="e11"/> 
     <xs:element name="el2"/> 
     <xs:choice minOccurs="0" maxOccurs="unbounded"> 
     <xs:element name="el3"/> 
     <xs:element name="el4"/> 
     <xs:element name="el5"/> 
     </xs:choice> 
     <xs:element name="el6"/> 
     <xs:element name="el7"/> 
    </xs:sequence> 
    </xs:complexType> 
</xs:element> 
相關問題