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

时间:2013-01-18 17:15:53

标签: xml xsd xsi

在我正在学习的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 个答案:

答案 0 :(得分:1)

那不是标题。它只是文档的根节点。

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

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

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