XSD 1.0中基于值的条件限制

时间:2014-10-28 12:43:33

标签: xml xsd xsd-validation xsd-1.0

以下是我的示例XML:

  <RootElement attributeName="Value1">
    <ChildElement>0</ChildElement>
    <ChildElement>1</ChildElement>
    <ChildElement>2</ChildElement>
    <ChildElement>3</ChildElement>
  </RootElement>

我想根据attributeName的值添加限制。 attributeName的值可以是Value1 | Value2 | Value3。如果属性名称的值为Value1或Value2,则不应存在子元素。如果属性名称的值为Value3,那么应该有最小1和最多15个ChildElement出现。 我想用XSD v1.0实现这一点。我找到了一些XSD v1.1的解决方案,但我不能使用它们,因为我想在XSD v1.0中实现这一点。 我找到了一些抽象和选择的解决方案,但它提供了不同的子元素名称。我只能有“ChildElement”。我不能使用其他子元素。

1 个答案:

答案 0 :(得分:0)

XSD 1.0无法实现这种限制。您可以通过在XSD 1.1或更高版本中使用Assert或Rule来实现相同目的。