1、名称空间的概念
名称空间可以理解为一种为了避免条目命名冲突,把使用在相同场景的元素和属性聚合到一个共同标题下的方法。只有将不同场景中使用的条目归入各自的名称空间下,这样他们才能保持各自的名称。通过名称空间使人类或者软件的应用能区分不同名称空间下的同户名元素的不同含义。
2、使用名称空间的必要性
名称空间的作用是避免命名冲突,当出现两个意义不同的同名元素时,如果没有名称空间的作用,那么程序运行时读取两个同名元素就会发生异常。在XML中,名称空间可以确保所有元素和属性名在整个系统中是唯一的,不必担心元素名相同而引发的混淆。
另外由于XML的作用之一是跨平台共享数据,在需要定义一个仅供内部使用与其他XML格式无关的自定义XML格式时也需要用到名称空间。
3、名称空间的声明
称空间的声明有两种情况,即命名空间的作用域是文档所有元素抑或只是文件中的一部分元素。主要用到的是前者,其生命方法为:
<span style="font-family:SimSun;">Xmlns=”http://wrox.com/namespace/applications/hr/config”</span>
4、名称空间的应用
名称空间的首要作用仍是区分同名元素,避免混淆,但是也有其他几个方面的用途。例如定义文档结构;组合文档,将多个文档合并成一个;进行版本控制。
5、名称空间的使用时机
XML的作用之一是跨平台共享数据,在跨平台时有时不得不用到名称空间;
需要进行数据交互的时候
需要进行必要验证时
名称空间的作用不仅体现在XML中,在C#等编程语言中也已得到应用,因此不放将C#中名称空间做一次简要的回顾。C# 名称空间按照通俗的理解可以被看成一个出巡不同类型的仓库,将不同元素封装其中,命名空间的名称就是仓库的名称,需要时用using指令获取里面的元素。
XML与C#名称空间有其相似之处,都为了有效避免内部元素混淆二施加的限制。至于不同之处,XML的跨平台共享性决定了XML的名称空间要承担更多的职责任务。详情仍在继续探索中……