[英]XML Schema Display Elements in Unordered pattern
我有一個Schema XSD文件,其中包含序列中列出的元素。 問題是Sequence強制XML文件列出順序中的元素。 現在,我想使用選擇標記。 但是根據xml規范,choice只允許聲明中包含的一個元素出現在contains元素中。 另外,我不能使用All標簽,因為我想要多次出現 。 但是,我希望以無序模式顯示所有A,B,C,D和E. 有什么建議么?
<xsd:complexType>
<xsd:sequence>
<xsd:element name="A" />
<xsd:element name="B" />
<xsd:element name="C" />
<xsd:element name="D" />
<xsd:element name="E" />
</xsd:sequence>
</xsd:complexType>
<a>a</a>
<b>b</b>
<c>c</c>
<d>d</d>
<e>e</e>
這個XSD,
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="r">
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="A" />
<xsd:element name="B" />
<xsd:element name="C" />
<xsd:element name="D" />
<xsd:element name="E" />
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
將以任何順序和任意數量的事件驗證元素A
到E
作為r
子元素。
xsd:choice
元素的出現約束允許選擇本身重復指定的次數。 因此,您可以在子元素之間進行零次選擇,並獲得r
的空內容模型。 有一次,你可以選擇任何一個孩子。 您可以第二次選擇您第一次做的同一個孩子或任何其他孩子。 如您所見,此持續操作允許任意數量的子元素以任何順序出現。
以下所有XML文檔對上述XSD都有效:
<r></r>
<r><A/><A/></r>
<r><A/><A/><A/></r>
<r><A/><B/><A/><C/><A/><D/><A/><E/><A/></r>
<r><E/><D/><C/><B/><A/></r>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.