在HTML和XML中经常提到的名
XML名字空间提供了一种避免元素名冲突的方法。
b>名字冲突
由于XML中的元素名不是固定的,因此当两个不同的文档使用同样的名字描述两个不同类型的元素时就会发生名冲突。
下面这个XML文档在一个表格中携带了信息:
Apples
Bananas
下面这个XML文档携带了关于一个表格的信息 (关于一件家具的信息):
African Coffee Table
80
120
如果这两个XML文档被加在一起,就会发生一个元素名冲突,因为这两个文档都包含了一个元素,而这两个元素的内容和定义都不同。
...全部
XML名字空间提供了一种避免元素名冲突的方法。
b>名字冲突
由于XML中的元素名不是固定的,因此当两个不同的文档使用同样的名字描述两个不同类型的元素时就会发生名冲突。
下面这个XML文档在一个表格中携带了信息:
Apples
Bananas
下面这个XML文档携带了关于一个表格的信息 (关于一件家具的信息):
African Coffee Table
80
120
如果这两个XML文档被加在一起,就会发生一个元素名冲突,因为这两个文档都包含了一个元素,而这两个元素的内容和定义都不同。
b>用一个前缀解决名冲突
下面这个XML文档在一个表格中携带了信息:
Apples
Bananas
而这个XML文档则携带了一件家具的信息:
African Coffee Table
80
120
现在就没有元素名冲突的问题了,因为两个文档分别给他们的元素使用了不同的名字:( 和 )。
通过使用一个前缀,我们创建了两个不同类型的 元素。
b>使用名字空间
下面这个XML文档在一个表格中携带了信息 :
Apples
Bananas
这个XML文档携带了一件家具的信息:
African Coffee Table
80
120
在这里不是只使用前缀,在标记上还增加了一个 xmlns属性,这样就给元素前缀一个与名字空间相联系的有资格的名字。
b>名字空间属性
名字空间属性放在一个元素的起始标记中,它的语法如下:
xmlns:namespace-prefix="namespace"
在上面的例子中,名字空间本身是用一个Internet 地址定义的:
xmlns:f=" ">
W3C名字空间规范规定名字空间本身应该是一个统一资源识别号 (URI)。
当一个名字空间在一个元素的起始标记中被定义时,所有有相同前缀的子元素都与同样的名字空间相关。注意:分解器并不使用用来识别名字空间的地址去查找信息。这个地址唯一的目的就是给名字空间一个唯一的名字。
但是,公司经常将名空间作为包含名空间信息的实际Web页面的一个指针。访问
b>统一资源识别号
一个统一资源识别号(URI)是识别一个Internet资源的字符串。
通常URI就是识别一个Internet域地址的URL。另外,有少数一些类型的 URI 是通用资源名(URN)。在我们的例子中只使用URL。由于我们这个家具的例子中使用一个Internet地址去识别其名字空间,我们可以肯定我们的名字空间是唯一的。
名字空间是为了防止名字污染在标准 C++ 中引入的。
它可以将其中定义的名字隐藏起来,不同的名字空间中可以有相同的名字而互不干扰,使用时用域操作符(::)来引用。
namespace 名字
{
定义的数据;
定义的函数;
也可以是定义的类。
。。。。。
}
在应用的时候 使用这些数据和函数名称太麻烦
给定义在同一德的名字空间内
不用繁琐的去重新书写和定义
用名字空间就可以了
我觉得有点像类 又有点像 头文件
使用方法有以下三种:
1> using namespace sdm;
然后你就可以使用变量temp:
temp=9;
还可以使用sdm中的其他每一个成员。
2>using sdm::temp;
在这个文件中只能使用sdm中的temp这个变量。
3>你在使用时直接使用sdm::temp:
cout< 收起