XML 知识量:7 - 28 - 99
命名空间是由零个或多个名称所组成的集合,在命名空间中,每个名称都是唯一的。
当在一个XML文档中同时使用多个DTD定义的元素时,可能会遇到由不同DTD定义的同名元素,这些元素名称相同,但含义确不同,命名空间就是用于解决如果正确使用同名元素问题。
命名空间使用前缀法来避免名称冲突,即在元素或属性原有名字前面加上不同的前缀,以使元素或属性隶属于不同的空间,其语法为:
<命名空间前缀:标记名称>
其中:命名空间前缀与标记名称之间用冒号(:)分隔。
W3C组织规定:在XML文档中,命名空间前缀使用统一资源标识符(URI)来表示,这样可确保命名空间全球唯一性。
直接使用URI来作为前缀会比较冗长,可以将URI地址声明给某个变量作为前缀,从而间接使用URI作为前缀,其语法为:
xmlns:前缀="命名空间URI"
下面是一个简单的示例:
<?xml version="1.0" encoding="UTF-8"?> <a:student_list xmlns:a="http://www.a.com" xmlns:b="http://www.b.com"> <a:student age="10"> <a:number>20220101</a:number> <a:name>Bob</a:name> <a:class>1-1</a:class> </a:student> <a:student age="11"> <a:number>20220102</a:number> <a:name>Jeff</a:name> <b:class> <b:part_1>1</b:part_1> <b:part_2>2</b:part_2> </b:class> </a:student> </a:student_list>
其中,元素class是重名元素,通过定义命名空间a和b来进行区分。注意:元素student中的属性age也属于命名空间a中的属性。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6