我正在为国际象棋游戏的数据库格式编写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
是进行验证的移动类型。
所以有人可以解释我的能力:
<variation>
元素和time
和comment
属性。顺便说一句,整个架构在没有
的情况下验证正常<xs:sequence>
<xs:element ref="variation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
一部分。
答案 0 :(得分:0)
由于Alejandro和Nic Gibson的建议,我最终重新组织了架构。 &lt;变体&gt;元素现在位于&lt; move&gt;之外元件。