XSD架构是否可以根据是否存在多个元素而具有不同的条件?

时间:2016-01-15 00:00:45

标签: xml xsd xsd-validation

我正在研究的XML文档设计有几个条件:

如果存在一个ColorMap元素:

<ColorMap>no attributes needed</ColorMap>

如果存在多个ColorMap元素:

<Colormap version="1.0" default="true">Both these attributes are required</ColorMap>

有没有办法可以创建一个验证这种情况的XSD架构?

1 个答案:

答案 0 :(得分:2)

不,XSD 1.0无法根据存在的元素数量约束属性的必要性。您必须重新设计XML或在XSD之外执行此类检查。

在XSD 1.1中,您可以使用xs:assertion来表达这样的约束。