我正在尝试添加额外的验证 杰德普 使用 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 来定义。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top