关闭

XML的名称空间

636人阅读 评论(0) 收藏 举报

名称空间允许开发人员无冲突地使用具有不同来源或不同用途的信息。名称空间是一个概念范围,其中的所有名称都需要是唯一的。

创建名称空间

由于名称空间的标识符必须是唯一的,因而使用统一资源定位符(或 URI)来指定它们。

数据的默认名称空间将使用 xmlns 属性来指定:

<?xml version="1.0" encoding="UTF-8"?>
<orders xmlns="http://www.nicholaschase.com/orderSystem.html">
     <order>
      <customerid limit="1000">12341<customerid>
...
</orders>

... 表示不相关的节。)

没有指定名称空间的任何元素都在默认名称空间 http://www.nicholaschase.com/orderSystem.html 中。实际的 URI 本身并没有表示任何意义。信息可能在也可能没有在该地址,重要的是它必须是唯一的。

注意默认名称空间和根本没有名称空间之间的巨大区别是很重要的。在本例中,没有名称空间前缀的元素都在默认名称空间中。以前,当不存在默认名称空间时,那些元素就不在任何名称空间中。

您还可以创建次级名称空间,并向它们添加元素或属性。

指定名称空间

通过创建 rating 名称空间,您无需使用实际的数据就可以向订单文本添加信用评级信息。

名称空间连同它的一个别名通常在在文档的根元素上(但不一定是这样)创建。当正在使用多个名称空间时,这个别名根据需要用作元素或属性的前缀,以指定正确的名称空间。

下面的代码。它使用了名称空间和别名 rating 来创建 creditRating 元素。

<?xml version="1.0" encoding="UTF-8"?>
<orders xmlns="http://www.nicholaschase.com/orderSystem.html"
      xmlns:rating="http://www.nicholaschase.com/rating.html">
   <order>
      <customerid limit="1000">
         12341
         <rating:creditRating>good</rating:creditRating>
      </customerid>
      <status>
         pending
      </status>
      <item instock="Y" itemid="SA15">
         <name>
            Silver Show Saddle, 16 inch
         </name>
         <price>
            825.00
         </price>
         <qty>
            1
         </qty>
      </item>
   ...
</orders>

节点的名称空间信息可在解析文档之后获得。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:28166次
    • 积分:318
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:19篇
    • 译文:0篇
    • 评论:2条
    文章分类
    文章存档