2013-10-29 57 views
0

我想創建一個XSD序列,其中元素可以是無序的,但可能有有限的多重性。 This question是相似的,但多樣性不是我所需要的。XSD與任何順序的元素和可能有界的多重性

<xs:complexType> 
    <xs:sequence> 
    <xs:choice> 
     <xs:element name="a" minOccurs="0" /> 
     <xs:element name="b" maxOccurs="2" /> 
     <xs:element name="c" minOccurs="1" /> 
    </xs:choice> 
    </xs:sequence> 
</xs:complexType> 

例如,在這裏我想要一些a,b和c以任何順序。但最終我最多需要2 b和最少1 c,並且可以有0或很多a。我怎樣才能在XSD中編寫這個?

回答

2

,這可能不是在XSD 1.0來實現:你基本上要一個xsd:all合成(滾動到xsd:所有實施例),其中含有顆粒可以具有的maxOccurs> 1.

XSD 1.0使用Schematron將與工作沒有問題。

XSD 1.1放寬了這個限制;如果您對任何一種選擇感興趣,請適當標記問題,然後我會更新答案。

相關問題