0

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

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

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

4

1 回答 1

0

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

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

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

于 2011-08-30T02:56:32.787 回答