Schema和Schematron的范围

时间:2011-08-29 18:01:42

标签: xml xsd schematron

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

<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的范围。

1 个答案:

答案 0 :(得分:0)

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

Schema没有表达您描述的条件逻辑的工具。 Schematron非常适合这种情况,可以很容易地用于编码和验证这些验证规则。

可以使用Schema 1.1 assertions定义此类限制/验证。