跨多个 XML 实例的 XML key/keyref



是否可以跨多个XML实例验证key/keyref。示例:xsd1 为数据类型列表定义架构和命名空间,每个数据类型都有一个定义为键引用的唯一标识符 ID。XSD2 定义了一个实体列表,这些实体应使用 XSD1 中的 ID。在 XML 创作软件 Oxygen 中,例如跨两个命名空间的 xsd 引用与 key/keyref 有效,但我无法创建如下验证方案:"XML2 中的字段 X(根据 xsd2 验证)只能包含 XML1 中的字段 ID 中的值(根据 xsd1 验证)"

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

提前非常感谢!

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

最新更新