题
我正在尝试添加额外的验证 杰德普 使用 XSD 的流程定义文件。
我们想要添加一些规则;但给我带来问题的是,必须存在一个“节点”元素,其“名称”属性=“问题”。
所以这是有效的:
<process-definition name='sample'>
<node name="Problem">
</node>
<node name="Do Work">
</node>
</process-definition>
这不是
<process-definition name='sample'>
<node name="Do Work">
</node>
</process-definition>
所以,总而言之,我需要执行的规则是
- 值为“Problem”的节点属性
- 存在 1 个名称为“Problem”的节点
- 允许任意数量的具有其他名称的节点
有什么想法吗?
解决方案
抱歉,XSD 无法实现这一点。
由于性能原因,XML-Schema 被设计为从不向前看,也不向后看超出当前节点的位置。这意味着它必须始终定义在模式树中验证器所在的位置。这使得这样的需求无法使用 XSD 来定义。
不隶属于 StackOverflow