我正在尝试制定模式,要求元素实例的值是顺序的,没有任何间隙(尽管顺序无关紧要)。
有效:
<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强制执行此操作吗?如果是这样,那么有人可以指出我正确的方向吗?
答案 0 :(得分:0)
在XSD 1.0中执行此操作并不方便。在XSD 1.1中,您可以使用断言(在父Racks
元素上)来强制执行约束。但如果是我,我会改变XML,以减少冗余,减少相邻元素之间的相互依赖。