0

我正在尝试制定模式,要求元素实例的值是连续的,没有任何间隙(尽管顺序无关紧要)。

有效的:

<Racks>
  <Rack>
    <RackNumber>1</RackNumber>
  </Rack>
  <Rack>
    <RackNumber>2</RackNumber>
  </Rack>
  <Rack>
    <RackNumber>3</RackNumber>
  </Rack>
</Racks>

有效的:

<Racks>
  <Rack>
    <RackNumber>2</RackNumber>
  </Rack>
  <Rack>
    <RackNumber>3</RackNumber>
  </Rack>
  <Rack>
    <RackNumber>1</RackNumber>
  </Rack>
</Racks>

无效:

<Racks>
  <Rack>
    <RackNumber>1</RackNumber>
  </Rack>
  <Rack>
    <RackNumber>3</RackNumber>
  </Rack>
</Racks>

是否可以使用 XSD 1.0 强制执行此操作?如果是这样,那么有人可以指出我正确的方向吗?

4

1 回答 1

0

在 XSD 1.0 中没有方便的方法来执行此操作。在 XSD 1.1 中,您可以使用断言(在父Racks元素上)来强制执行约束。但如果是我,我会更改 XML 以减少冗余和相邻元素之间的相互依赖性。

于 2015-01-10T16:19:50.193 回答