xml 命名空间(Namespace)

来源:互联网 发布:86joy平台 网络 编辑:程序博客网 时间:2024/05/17 09:31

为什么要使用命名空间

  为了避免元素名冲突。

  XML的元素名是不固定的,当两个不同的文档使用同样的名称描述两个不同类型的元素的时候,就会发生命名冲突。

  比如一个XML文件说表格:

复制代码
<table>   <tr>   <td>Apples</td>   <td>Bananas</td>   </tr></table>
复制代码

  另一个XML文件说桌子:

<table>   <name>African Coffee Table</name>   <width>80</width>   <length>120</length></table>

  显然,如果这两个文档都要用,这就发生了命名的冲突。

 

 

用前缀来解决命名冲突

  使用前缀可以解决命名冲突问题:

复制代码
<h:table>   <h:tr>   <h:td>Apples</h:td>   <h:td>Bananas</h:td>   </h:tr></h:table>
复制代码

 

<f:table>   <f:name>African Coffee Table</f:name>   <f:width>80</f:width>   <f:length>120</f:length></f:table>

 

   现在,两个文档都加上了前缀,所以标签变成了不同的名字,就解决了命名冲突。

 

 

使用命名空间(Namespaces)来解决命名冲突

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

复制代码
<h:table xmlns:h="http://www.w3.org/TR/html4/">   <h:tr>   <h:td>Apples</h:td>   <h:td>Bananas</h:td>   </h:tr></h:table>
复制代码

 

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

 

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

  xmlns:namespace-prefix="namespaceURI"

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

  元素和属性都可以应用命名空间。

 

 

参考资料

  w3school:

  http://www.w3school.com.cn/xml/xml_namespaces.asp

  圣思园张龙老师视频教程。

0 0
原创粉丝点击