xmlns

xmlns是XML Namespaces的缩写,中文名称是XML(标准通用标记语言的子集)命名空间。

产生原因

比如:

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

table

tr

tdApples/td

tdBananas/td

/tr

/table

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

table

nameAfrican Coffee Table/name

width80/width

length120/length

/table

假如这两个 XML 文档被一起使用,由于两个文档都包含带有不同内容和定义的 table 元素,就会发生命名冲突。XML 解析器是无法确定如何处理这类冲突。

为了解决上述问题,xmlns就产生了。

使用语法: xmlns:namespace-prefix=namespaceURI

就拿上面的例子解释怎么使用xmlns

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

h:table xmlns:h=url 1

h:tr

h:tdApples/h:td

h:tdBananas/h:td

/h:tr

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

f:table xmlns:f=url 2

f:nameAfrican Coffee Table/f:name

f:width80/f:width

f:length120/f:length

/f:table与仅仅使用前缀不同,我们为 table 标签添加了一个 xmlns 属性,这样就为前缀赋予了一个与某个命名空间相关联的限定名称。

xmlns属性

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

xmlns:namespace-prefix=namespaceURI。

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

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

官方概念xmlns是xml namespace的缩写,也就是XML命名空间,xmlns 属性可以在文档中定义一个或多个可供选择的命名空间。该属性可以放置在文档内任何元素的开始标签中。该属性的值类似于 URL,它定义了一个命名空间,浏览器会将此命名空间用于该属性所在元素内的所有内容。

用来标识命名空间的网络地址并不被XML解析器调用,XML解析器不需要从这个网络地址中查找信息,该网络地址的作用仅仅是给命名空间一个唯一的名字,因此这个网络地址也可以是虚拟的。

posted @ 2017-02-07 14:39  伴我前行  阅读(373)  评论(0编辑  收藏  举报