XSD 指定 xml 中出现的匹配值

问题描述 投票:0回答:1

如果我在 xml 中有一个元素,它是表示计数的整数

n
。如果我有一个包含一系列元素的元素,这些元素的属性 id 应从 1 开始,一直到
n

xsd 中是否有某种方法可以确保元素序列以属性 id=1 开始,并且每个下一个元素加一,并在另一个元素的值指定的数字处停止?

xml xsd xsd-validation
1个回答
0
投票

在 XSD 1.1 中你可以写类似的东西

<xs:element name="parent">
  ...
  <xs:assert test="every $child in ./child
                   satisfies @id = count($child/preceding-sibling::child)+1"/>
</xs:element>
© www.soinside.com 2019 - 2024. All rights reserved.