2008-08-28 32 views
8

tôi cần phải tạo ra một lược đồ XML mà trông giống như sau:XML Schema xây dựng cho "Bất kỳ số lượng các yếu tố này - trong bất kỳ thứ tự"

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

Những gì tôi cần là một sự thay thế cho "WhatGoesHere" như vậy mà bất kỳ số lượng el3, el4 và el5 nào cũng có thể xuất hiện theo bất kỳ thứ tự nào. Ví dụ: nó có thể chứa {el3, el3, el5, el3}

Bất kỳ ý tưởng nào về cách giải quyết vấn đề này?

Trả lời

13

Bạn muốn xs:choice với các ràng buộc xảy ra:

<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> 
Các vấn đề liên quan