1

是否可以跨多个 XML 实例验证 key/keyref。示例:xsd1 为 DataTypes 列表定义了一个模式和命名空间,每个 DataType 都有一个唯一的标识符 ID,它被定义为一个 keyref。xsd2 定义了一个实体列表,这些实体应使用来自 xsd1 的 ID。在 XML 创作软件 Oxygen 中,例如跨两个命名空间的 key/keyref 的 xsd 引用有效,但我没有设法创建一个验证场景,例如:“XML2 中的字段 X(针对 xsd2 验证)只能包含来自字段的值XML1 中的 ID(针对 xsd1 验证)"

这在 XML 创作状态下是否可能?还是我总是必须手动实施该验证?这没什么大不了的,但是如果存在的话,为用户提供一个复杂的创作验证工具箱可能会有所帮助。

提前谢谢了!

4

1 回答 1

0

XSD 无法做到这一点。您可以使用 Schematron 跨文档执行此操作。现在,key/keyref 的 Schematron 等效项不像其 XSD 对应项那样具有声明性,但仍然可行。有关详细信息,请查看本文...请记住,它是 key/unique/keyref 构造的通用解决方案,您可能可以针对您的特定情况做更简单的处理。

于 2013-09-27T16:26:05.447 回答