我正在做的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
来表示这样的约束。