XML Schema混合内容

时间:2010-11-23 21:59:31

标签: xml xsd mixed

我正在为国际象棋游戏的数据库格式编写XML Schema。这些动作采用特定格式,我用正则表达式验证;它看起来像这样:<move>Pe2e4</move><move&>元素也可以包含<variation>' element. The problem is, I can't simply do mixed =“true”,因为我需要验证移动。以下是模式文件的相关部分:

<xs:element name="move">
    <xs:complexType>
        <xs:simpleContent>
            <xs:extension base="moveType">
                <xs:attribute ref="time"/>
                <xs:attribute ref="comment"/>
            </xs:extension>
        </xs:simpleContent>
        <xs:sequence>
            <xs:element ref="variation" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>

moveType是进行验证的移动类型。

所以有人可以解释我的能力:

  1. 让我的移动正则表达式验证,
  2. 拥有我的<variation>元素和
  3. 拥有timecomment属性。
  4. 顺便说一句,整个架构在没有

    的情况下验证正常
    <xs:sequence>
        <xs:element ref="variation" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    

    一部分。

1 个答案:

答案 0 :(得分:0)

由于Alejandro和Nic Gibson的建议,我最终重新组织了架构。 &lt;变体&gt;元素现在位于&lt; move&gt;之外元件。