【问题标题】:How do XML files find the XML Schema?XML 文件如何找到 XML Schema?
【发布时间】:2013-07-18 14:07:34
【问题描述】:

我有兴趣了解有关允许 XML 文件实际定位验证它的架构的过程的更多信息。我在测试了三个不同的 xml 标头(如下)并注意到架构正确地验证了任何变体后询问。

XML 标头 1:

<root xmlns="http://www.website.com/yolo"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 >

XML 标头 2:

<root xmlns="http://www.website.com/yolo"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="

       http://www.website.com/yolo http://www.website.com/yolo    

      "
>

XML 标头 3:

<root xmlns="http://www.website.com/yolo"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="

       http://www.website.com/yolo /u/me/folder/yolo.xsd    

       "
>

【问题讨论】:

  • XML 文件 只是数据。 XML 解析器 的作用取决于解析器。大多数人都不会费心去下载模式,因为它是额外的开销(通常)没有收益。
  • 另请注意,所有三个变体都以xmlns="http://www.website.com/yolo" .... 开头。这似乎足以让您的 XML 解析器连接到必要的模式。然后,其他任何事情都可能是多余的(用于模式加载/验证)。

标签: xml xsd xsd-validation


【解决方案1】:

XSD 规范不限制 XSD 验证器用于定位文档架构的方法;它确实定义了 xsi:schemaLocation 提示以允许验证器从 XML 实例本身读取模式位置信息,但大多数验证器在调用时接受模式绑定。你的验证器应该提供它如何找到模式的文档;您应该查阅该文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多