2016-11-04 99 views
1

假設我有一個<scene>元件,其可以包含以下元素:如何在XSD中允許一個元素或其他元素的選擇?

  • <episode>和/或<season>
  • OR <part>

一些例子:

<scene> 
    <part></part> 
</scene> 

又如:

<scene> 
<episode></episode> 
<episode></episode> 
<season></season> 
</scene> 

還有一句:

<scene> 
<episode></episode> 
<season></season> 
<episode></episode> 
</scene> 

所以這裏的想法是允許<scene>episodesseasons(無界限制)。如果這兩個元素(季節和劇集)不存在,則可以在<scene>內使用<part>元素,且無限制。

我正試圖在XML模式中做到這一點。我嘗試過羣體和複雜的內容而沒有成功。有任何想法嗎?

+0

告訴我們你已經有了什麼。這將有助於答案;) –

回答

1

使用化合物xs:choice元素:

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 

    <xs:element name="scene"> 
    <xs:complexType> 
     <xs:choice> 
     <xs:element name="part" maxOccurs="unbounded"/> 
     <xs:choice maxOccurs="unbounded"> 
      <xs:element name="episode"/> 
      <xs:element name="season"/> 
     </xs:choice> 
     </xs:choice> 
    </xs:complexType> 
    </xs:element> 

</xs:schema> 

這就是說scene可以由任一個無限數目part元件或episodeseason元件無界混合物。

相關問題