У меня есть элемент, который может иметь различную структуру в зависимости от определенных ограничений. Элемент определяется как:
<xs:complexType name="MyElement">
<xs:sequence>
<xs:element name="Child"/>
<xs:element name="Child1" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
У меня также есть элемент с несколькими MyElement
. Но я хочу иметь возможность сказать, что
- Первое вхождение должно иметь Child1, а для всех остальных вхождений Child1 может быть необязательным.
- Все нечетные вхождения должны иметь Child1, а для четных вхождений Child1 может быть необязательным.
- Если значение Child равно R, то должен присутствовать элемент Child1.
Я не хочу решения; Я хочу знать, какую технологию вы бы использовали для решения такого рода проблем. Только схема или схема и Schematron? Мне интересно узнать возможности XML Schema и Schematron.