首页 文章

在XML文件中,“ Headers ”行信息的功能是什么

提问于
浏览
1

在我正在研究的XML文件的顶部,我在开头看到:

<selfModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:noNamespaceSchemaLocation="../../dtd/selfmodel.xsd">

之后,它是XML的实际内容:

<plan id = "offer" default="true">
     <description>Automatically generated from ACELandic specification</description>
        <states> .. etc

xmlns:xsi=xsi:noNamespaceSchemaLocation 的目的是什么?在编译文件时是否可以在线搜索/验证?这就是我所假设的URL www.w3.org/2001/XMLSchema-instance,但这似乎非常低效

1 回答

  • 1

    那不是 Headers . 它只是文档的根节点 .

    您在该元素中看到的“xmlns:xsi”属性是名称空间声明 . 命名空间需要在使用之前声明 . 因此,它们通常在文档顶部一直声明 . 只有在使用它们之前才需要声明它们 .

    虽然命名空间名称(命名空间属性中的值)通常采用URL的形式,但它们不一定是Internet上资源的位置 . 它们只是一个独特的名字 . 特别是,它们将始终采用URI的形式,这是一种语法,它是“URL”的超集,但只能用作唯一标识符,而不能用作Internet上资源的位置 .

    作为"xsi:schemaLocation"和"xsi:noNamespaceSchemaLocation"的值给出的URI是可用于验证文档的模式的位置 . 他们没有必要,但他们很高兴 . 并非所有XML解析器都会关注它们 . 特别是,您可能没有进行XML验证,或者可能不希望在验证期间使用Internet .

相关问题