我正在使用xmllint工具来检查一些XML文件与它们的XSD模式。似乎该工具被调用为
xmllint --noout --schema foo.xsd bar.xml
...并且不包括从XML文件的xsi:schemaLocation属性中检索XSD文件的选项。此外,在相关的 w3.org 规范中,有一个内容如下:
这些提示的存在 [即 xsi:schemaLocation ] 不需要处理器获取或使用引用的模式文档,并且处理器可以自由地使用通过任何合适的方式获得的其他模式,或者根本不使用模式。
那么可以公平地说,在实践中xsi:schemaLocation属性相当于(软)文档吗?此外,由于允许传入的 XML 文档告诉应用程序如何验证它们可能不是一个好的做法,我看不到它的好处。