是否可以跨多个XML实例验证key / keyref。示例:xsd1定义DataType列表的架构和命名空间,每个DataType都有一个唯一的标识符ID,定义为keyref。 xsd2定义了一个实体列表,它们将使用来自xsd1的ID。在XML创作软件Oxygen中两个命名空间中带键/ keyref的xsd引用有效,但我无法创建如下的验证方案: “XML2中的字段X(针对xsd2验证)只能包含XML1中字段ID的值(根据xsd1验证)”
这在XML创作状态下是否可行?或者我是否总是必须手动实施该验证?这不是什么大问题,但如果存在复杂的创作 - 验证工具箱,那么为用户提供它可能会有所帮助。
非常感谢提前!
答案 0 :(得分:0)
使用XSD无法实现。您可以使用Schematron在文档中执行此操作。现在,Schematron等效于key / keyref并不像XSD那样具有声明性,但仍然可行。有关详细信息,请查看this article ...请记住,它应该是key / unique / keyref构造的通用解决方案,您可以根据具体情况更简单地进行操作。