Я пишу XML-схему для формата базы данных для шахматных игр.Ходы в определенном формате, который я проверяю с помощью регулярного выражения;это выглядит примерно так: <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
- это тип ходов, который выполняет проверку.
Итак, кто-то может объяснить, как я могу:
*У 1011 * есть подтверждение моего хода, есть элемент
<variation>
, а у есть атрибуты
time
и
comment
.
Кстати, вся схема проверяется без штрафа
<xs:sequence>
<xs:element ref="variation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
.