XML 文件详解【命名空间】

墨蓝 2023-10-17 13:46 74阅读 0赞

学习资料来源于:http://www.w3school.com.cn/xml/xml\_namespaces.asp

XML 命名空间提供避免元素命名冲突的方法。

命名冲突

在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。

这个 XML 文档携带着某个表格中的信息:

  1. <table>
  2. <tr>
  3. <td>Apples</td>
  4. <td>Bananas</td>
  5. </tr>
  6. </table>

这个 XML 文档携带有关桌子的信息(一件家具):

  1. <table>
  2. <name>African Coffee Table</name>
  3. <width>80</width>
  4. <length>120</length>
  5. </table>

假如这两个 XML 文档被一起使用,由于两个文档都包含带有不同内容和定义的

元素,就会发生命名冲突。

XML 解析器无法确定如何处理这类冲突。

使用前缀来避免命名冲突

此文档带有某个表格中的信息:

  1. <h:table>
  2. <h:tr>
  3. <h:td>Apples</h:td>
  4. <h:td>Bananas</h:td>
  5. </h:tr>
  6. </h:table>

此 XML 文档携带着有关一件家具的信息:

  1. <f:table>
  2. <f:name>African Coffee Table</f:name>
  3. <f:width>80</f:width>
  4. <f:length>120</f:length>
  5. </f:table>

现在,命名冲突不存在了,这是由于两个文档都使用了不同的名称来命名它们的

元素 ()。

通过使用前缀,我们创建了两种不同类型的

元素。

使用命名空间(Namespaces)

这个 XML 文档携带着某个表格中的信息:

  1. <h:table xmlns:h="http://www.w3.org/TR/html4/">
  2. <h:tr>
  3. <h:td>Apples</h:td>
  4. <h:td>Bananas</h:td>
  5. </h:tr>
  6. </h:table>

此 XML 文档携带着有关一件家具的信息:

  1. <f:table xmlns:f="http://www.w3school.com.cn/furniture">
  2. <f:name>African Coffee Table</f:name>
  3. <f:width>80</f:width>
  4. <f:length>120</f:length>
  5. </f:table>

与仅仅使用前缀不同,我们为

标签添加了一个 xmlns 属性,这样就为前缀赋予了一个与某个命名空间相关联的限定名称。

XML Namespace (xmlns) 属性

XML 命名空间属性被放置于元素的开始标签之中,并使用以下的语法:

  1. xmlns:namespace-prefix="namespaceURI"

当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。

注释:用于标示命名空间的地址不会被解析器用于查找信息。其惟一的作用是赋予命名空间一个惟一的名称。不过,很多公司常常会作为指针来使用命名空间指向实际存在的网页,这个网页包含关于命名空间的信息。

发表评论

表情:
评论列表 (有 0 条评论,74人围观)

还没有评论,来说两句吧...

相关阅读

    相关 LESS详解命名空间

      提到命名空间,大家有一些语言基础的小伙伴儿一定会比较熟悉。LESS中也有命名空间,今天就为大家介绍一下LESS中的命名空间是如何使用的。   有时候,你可能为了更好组织

    相关 XML和Schema命名空间详解

     XML和Schema具有无关平台,技术厂商,简单,规范统一等特点,极具开放性,所以使用极为广泛,而且使用简单,在XML和Schema和,个人认为比较不好理解的一点是其命名空间