zoukankan      html  css  js  c++  java
  • xml名称空间详解

    原文出处:https://www.cnblogs.com/xugang/archive/2010/02/26/1674333.html

    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 的超集。

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

    URN(Uniform 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

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

    正确的部门融合.xml

    <?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号</建筑:地址>
       </设备>
    </资料>
    
  • 相关阅读:
    Linux学习
    官网地址
    Unsupported major.minor version 51.0
    获取select的option值
    网页中JS函数自动执行常用三种方法
    Python活力练习Day3
    时间复杂度的简单理解版本,非专业~~
    Python活力练习Day2
    Python活力练习Day1
    状压DP之LGTB 与序列
  • 原文地址:https://www.cnblogs.com/zbm-gg/p/13399338.html
Copyright © 2011-2022 走看看