2016-11-04 84 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元件无界混合物。

相关问题