我最近向自己介绍了 XML Schema (XSD),我正在努力寻找有关它们的一些基本问题的答案:
- 将 XML 文档链接到其 XSD 模式的正确方法是什么?
- XML 文档是如何实际验证的? 在据称将我的 XML 文档链接到模式之后,我实际上从未看到在违反模式时生成任何文档错误。
我一直在努力寻找这些问题的答案,并提前感谢响应者的贡献:)
您可以使用 xsi:schemaLocation 属性。然而,在我看来,它本质上是危险的。如果你需要验证一个文件,那通常是因为你不相信它是有效的,如果你不相信它是有效的,你为什么要相信它来识别它自己的模式呢?所有模式验证 API 都允许您指定源文档 S 和模式 K 并说“针对 K 验证 S”。
有许多用于调用模式验证的 API。在某些情况下,该操作与 XML 解析集成在一起,您只需在 XML 解析器上设置一个选项。但通常你必须要求验证,它不会自动发生。