Xml Schema和Schematron的作用域

Xml Schema和Schematron的作用域,xml,xsd,schematron,Xml,Xsd,Schematron,我有一个元素,它可以根据某些约束具有不同的结构。该元素定义为: <xs:complexType name="MyElement"> <xs:sequence> <xs:element name="Child"/> <xs:element name="Child1" minOccurs="0"/> </xs:sequence> </xs:complexType> 我还有一个

我有一个元素,它可以根据某些约束具有不同的结构。该元素定义为:

<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必须存在

我不想要一个解决方案;我想知道你们会用什么技术来解决这类问题。仅模式还是模式和?我有兴趣了解XML模式和Schematron的范围。

您需要将Schematron与模式1.0一起使用。

模式不具备表示所描述的条件逻辑的功能。Schematron非常适合这种情况,可以轻松地用于编码和验证这些验证规则

可以使用定义此类限制/验证