假设我有一个<scene>
元素,它可以包含以下元素:
<episode>
和/或<season>
<part>
一些例子:
<scene>
<part></part>
</scene>
另一个例子:
<scene>
<episode></episode>
<episode></episode>
<season></season>
</scene>
另一个:
<scene>
<episode></episode>
<season></season>
<episode></episode>
</scene>
因此,这里的想法是允许episodes
中的seasons
和<scene>
(具有无限制的限制)。如果这两个元素(季节和剧集)不存在,您可以在<part>
内使用<scene>
元素,并且无限制。
我正在尝试在XML Schema中执行此操作。我尝试了群组和complexContent没有成功。有什么想法吗?
答案 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
元素,也可以包含episode
和season
元素的无限混合。