XML 命名空间

来源:互联网 发布:java 时间加减 编辑:程序博客网 时间:2024/05/16 12:27

XML 命名空间提供了一种避免元素命名冲突的方法。因为XML文档中使用的元素不是固定的,那么两个不同的XML文档使用同一个名字来描述不同类型的元素的情况就可能发生。而这种情况又往往会导致命名冲突。请看下面两个例子

XML的应用中,给我们带来了很多方便,也让XML的功能得到了很大的提升

    在进入正题之前,我们先引用一个例子:   

 <table>

    <tr>

        <td>Apples</td>

        <td>Bananas</td>

    </tr>

</table>
   
在上面这个XML,有点类似于我们以前见到的HTML中的表格的功能,其实你也可以那样简单的认为这样;

   <table>

    <name>African Coffee Table</name>

    <width>80</width>

    <length>120</length>

</table>
   
在这个XML,我们描述了一个桌子的信息,这样假如我们把这两个XML放到一个XML文件中,就会遇到命名冲突的问题,于是便有了Name space.
    XML
的命名空间----解决上述问题的途径
:
   
.使用前缀解决命名冲突的问题
:
   
上面的两个文件变为以下内容:

1--<h:table>

    <h:tr>

        <h:td>Apples</h:td>

        <h:td>Bananas</h:td>

    </h:tr>

</h:table>

2--<f:table>

    <f:name>African Coffee Table</f:name>

    <f:width>80</f:width>

    <f:length>120</f:length>

    </f:table>

现在是不是可以很明显的把两种不同的信息分开了呢,通过<h:table><f:table>就可以方便的引用这两个文件了,.使用命名空间来解决这个问题:

1--<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>

 

2--<f:table xmlns:f="http://www.w3.org/TR/xsl">

      <f:name>African Coffee Table</f:name>

      <f:width>80</f:width>

      <f:length>120</f:length>

   </f:table>

 

在上面的例子中,我们除了使用了前缀外,还使用了xmlns属性,xmlnsxml name space的缩写.命名空间属性:一般其声明在元素开始标记的地方,格式为:xmlns:namespace-prefix="namespace": xmlns:f=" http://www.w3.org/TR/xsl "我们在命名的时候,文中出现的类似URL的东东其实没有实际的意义,只是一种标记.

 

 

 

 

创建XML命名空间请看:http://msdn.microsoft.com/zh-cn/vstudio/bb387075.aspx

 

原创粉丝点击