关于XML中的名称空间


XML中的名称空间又被叫做命名空间

 

名称空间的作用?

为了解决不同领域的XML词汇的同名冲突和区分识别。(参考底下的示例

注意:名称空间只存在逻辑意义,无法真正实现对URI的引用。

 

名称空间的声明:

放在元素(一般是根元素)的起始标签内,以类似属性的形式声明。

名称空间的声明将名称前缀和URI关联起来。

 

名称空间的作用范围:

只在声明名称空间的元素以及该元素所包含的元素属性内有效。

(注意:默认名称空间不直接作用于属性)

 

声明名称空间的元素,称为包容体Container)。名称空间和前缀的关联关系在包容体的范围内有效。

 

名称空间的两种声明方式:

1显式名称空间声明:xmlns : 前缀名 = “URI”

例如:<根元素 xmlns: xg = “http://xugang.cnblogs.com” >

           <xg:子元素  attName = “myname” />

 

2默认名称空间声明:xmlns = “URI”

它没有前缀名,所以在包容体内没有前缀名的XML元素和属性都属于默认名称空间。

例如:<根元素 xmlns = “http://xugang.cnblogs.com” >

           <子元素 attName =“myname” />

注意:尽量只在根元素声明默认名称空间。若默认名称空间声明在非根元素,则容易被用户误解或忽略成没有名称空间的元素。所以,非根元素尽量不使用默认名称空间声明(推荐使用显式名称空间声明)。

 

名称空间的声明注意:

    * 双引号内必须是一个URI;
    * XML区分大小写,前缀名也不例外;
    * 前缀名建议采用英文缩写,也可以用中文(但不推荐用中文);
    * 尽量 避免同名前缀却对应 不同URI的名称空间的情况,它将容易误导用户;
    * 尽量在 根元素中声明 所有的名称空间;
    * 如果一个属性所在的元素属于某显式声明的名称空间,一般就不需要为该属性添加前缀。

 

URI (Uniform Resource Identifier):统一格式资源标识符。

URI URL URN 的超集。

 

URLUniform Resource Locater,统一格式资源定位器):用于标记网络上某资源的位置,就是通常所说的网址。

URNUniform Resource Name,统一格式资源名称):表示Internet上某个持久(persistent)的资源,格式相对自由。如:“myURN: IT”表示本示例内部使用的名称。

 

示例:

IT部门使用.xml

<? xml version="1.0" encoding="GB2312" standalone="yes" ?>
< 资料 >
   
< 设备 编号="联想6515b " >
      
< 生产商 > 联想集团 </ 生产商 >
      
< 地址 > 北京市中关村127号 </ 地址 >
   
</ 设备 >
</ 资料 >


建筑部门使用.xml

<? xml version="1.0" encoding="GB2312" standalone="yes"  ?>
< 资料 >
   
< 设备 编号="中联F001 " >
      
< 生产商 > 中联重科 </ 生产商 >
      
< 地址 > 湖南省长沙市新开铺113号 </ 地址 >
   
</ 设备 >
</ 资料 >


错误的部门融合.xml

ExpandedBlockStart.gif
<? xml version="1.0" encoding="GB2312" standalone="yes" ?>
< 资料 >
   
< 设备 编号="联想6515b " 编号 ="中联F001" >
      
< 设备名 > 笔记本 </ 设备名 >
      
< 生产商 > 联想集团 </ 生产商 >
      
< 地址 > 北京市中关村127号 </ 地址 >
      
< 设备名 > 起重机 </ 设备名 >
      
< 生产商 > 中联重科 </ 生产商 >
      
< 地址 > 湖南省长沙市新开铺113号 </ 地址 >
   
</ 设备 >
</ 资料 >


正确的部门融合.xml

ExpandedBlockStart.gif
<? xml version="1.0" encoding="GB2312" standalone="yes" ?>
< 资料 xmlns:IT ="http://www.lenovo.com"  xmlns:建筑 ="myURN:中联" >
   
< 设备 IT: 编号 ="联想6515b"  建筑:编号 ="中联F001" >
      
< IT: 设备名 > 笔记本 </ IT:设备名 >
      
< IT: 生产商 > 联想集团 </ IT:生产商 >
      
< IT: 地址 > 北京市中关村127号 </ IT:地址 >
      
< 建筑: 设备名 > 起重机 </ 建筑:设备名 >
      
< 建筑: 生产商 > 中联重科 </ 建筑:生产商 >
      
< 建筑: 地址 > 湖南省长沙市新开铺113号 </ 建筑:地址 >
   
</ 设备 >
</ 资料 >

 

相关文章:

计划使用 XML 名称空间

了解 XML 命名空间  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值