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



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

如果存在一个颜色映射图元素:

<ColorMap>no attributes needed</ColorMap>

如果存在多个颜色映射表元素:

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

有没有办法创建一个 XSD 架构来验证此条件?

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

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

最新更新