我的XSD中定义了一个元素“inspection”,它有一个“int”类型的属性“step”。我想要做的是要求第一个“输入”具有step = 1,下一个具有step = 2,依此类推。这在XSD中是否可行?
XML架构提取:
<element name="inspection">
<complexType>
<!-- some elements -->
<!-- other attributes -->
<attribute name="step" type="int">
<simpleType>
<restriction>
<minInclusive value="1" />
</restriction>
</simpleType>
</attribute>
</complexType>
</element>
答案 0 :(得分:1)
可以在XSD 1.1中使用,但不能在XSD 1.0中使用。
在XSD 1.1中,您可以将约束写为
<xs:assert test="every $i in 1 to count(input)
satisfies input[$i]/@step = $i"/>
此约束将出现在输入元素的父元素上。
XSD 1.1目前在Xerces和Saxon中实施。