我有两个xml文件,如下所示。
我想检查属性Id在两个xml文件中应该具有相同的值。
我可以起诉XSD吗?
<!-- Library.xml -->
<?xml version="1.0" encoding="utf-8"?>
<Library>
<Book Id="1"/>
</Library>
<!-- ######################################## -->
<!-- Book.xml -->
<?xml version="1.0" encoding="utf-8"?>
<Books>
<XmlBook Id="1"/>
</Books>
XmlBook和Book的Id属性值应始终相同。我可以使用XSD检查或验证它吗?或者我可以使用XSD为此值设置限制吗?
感谢Adavnce
此致
阿尼
答案 0 :(得分:0)
XSD旨在验证单个节点,通常是单个文档;跨文档验证不是内置于XSD。
您可以使用不同的模式语言(想到的Schematron和SML)来表达和检查跨文档约束。
或者您可以通过使用XInclude将两个源文档作为部分生成单个文档来检查跨文档约束,然后使用配对的key和keyref约束来确保复合的一部分中的每个Id值document匹配其他部分的Id值,反之亦然。