Я слишком долго смотрю на эту проблему. Я подозреваю, что упускаю что-то очевидное, потому что я слишком знаком с этим.
У меня есть схема, которая страдает от уникальной ошибки нарушения частицы. Я понимаю почему, но я слишком долго возился с этим, чтобы иметь возможность отступить и решить проблему.
Как мне сформулировать эту схему, чтобы она могла проверять контент, который мне нужно моделировать?
Модель контента выглядит примерно так:
<document>
<extract>...</extract>
<structure>...</structure>
<structure>...</structure>
</document>
OR
<document>
<structure>...</structure>
<structure>...</structure>
</document>
OR
<document>
<extract>...</extract>
<extract>...</extract>
</document>
То есть элемент document может содержать один или несколько элементов extract или один или несколько элементов Structure или может содержать один экстракт Элемент , за которым следует один или несколько элементов структура .
У меня есть (неправильная) схема, которая выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="document" type="Document"/>
<xs:complexType name="Document">
<xs:choice>
<xs:sequence>
<xs:element ref="extract" minOccurs="0"/>
<xs:element ref="structure" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:element maxOccurs="unbounded" ref='extract'/>
</xs:choice>
</xs:complexType>
<xs:element name="extract" type="xs:string"/>
<xs:element name="structure" type="xs:string"/>
</xs:schema>
(Это упрощенная версия гораздо более сложной схемы).
ура
1035 * НИК *