重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

XML中名称空间的示例分析

这篇文章主要介绍了XML中名称空间的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

专注于为中小企业提供网站设计、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业柞水免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

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

名称空间的作用?

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

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

名称空间的声明:

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

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

名称空间的作用范围:

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

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

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

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

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

例如:

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

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

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

例如:

<根元素 xmlns = “http://xugang.cnblogs.com” >
           <子元素 attName =“myname” />

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

名称空间的声明注意:

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

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

URI是 URL 和 URN 的超集。

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

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

示例:

IT部门使用.xml


<资料>   
<设备 编号="联想6515b">      
<生产商>联想集团      
<地址>北京市中关村127号   

建筑部门使用.xml


<资料>
   <设备 编号="中联F001">
      <生产商>中联重科
      <地址>湖南省长沙市新开铺113号
   

错误的部门融合.xml


<资料>
   <设备 编号="联想6515b" 编号="中联F001">
      <设备名>笔记本
      <生产商>联想集团
      <地址>北京市中关村127号
      <设备名>起重机
      <生产商>中联重科
      <地址>湖南省长沙市新开铺113号
   

正确的部门融合.xml


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

感谢你能够认真阅读完这篇文章,希望小编分享的“XML中名称空间的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


本文题目:XML中名称空间的示例分析
路径分享:http://cqcxhl.cn/article/iegsje.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP