XML名称空间使用一系列的保留属性来声明,这种属性的名字必须是以xmlns或xmlns:作为前缀.
XML名称空间的声明有两种形式:
1.<元素名 xmlns:prefixname="URI">
eg.
<orz xmlns:orz="http://www.iteye.com/orz">
<orz:coder>
2.缺省格式<元素名 xmlns="URI">
eg.
<orz xmlns="http://www.iteye.com/orz">
xml名称空间的应用:
原XML内容:
[code]
<?xml version="1.0" encoding="gb2312"?>
<books>
<book>
<title>JAVA编程</title>
<author>
<name>张三</name>
<title>项目经理</title>
</author>
</book>
<book>
<title>JSP编程</title>
<author>
<name>李四</name>
<title>教师</title>
</author>
</book>
</books>
[/code]
因为存在两个TITLE代表不同的含义,加入名称空间加以区分,
所以修改后的XML:
[code]
<?xml version="1.0" encoding="gb2312"?>
<books:books xmlns:people="http://www.iteye.com/people"
xmlns:books="http://www.iteye.com/books">
<books:book>
<books:title>JAVA编程</books:title>
<books:author>
<people:name>张三</people:name>
<people:title>项目经理</people:title>
</books:author>
</books:book>
<books:book>
<books:title>JSP编程</books:title>
<books:author>
<people:name>李四</people:name>
<people:title>教师</people:title>
</books:author>
</books:book>
</books:books>
[/code]
如果使用了名称空间,必须要重写DTD文件:
[code]
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE book [
<!ELEMENT book (bk:title,bk:author)>
<!ATTLIST book xmlns:bk CDATA #REQUIRED>
<!ELEMENT bk:title (#PCDATA)>
<!ELEMENT bk:author (#PCDATA)>
]>
<book xmlns:bk="http://www.iteye.com/bk">
<bk:title>JAVA编程</bk:title>
<bk:author>张三</bk:author>
</book>
[/code]
其中:<bk:title>元素的名称空间前最是bk,名称空间URI是:http://www.iteye.com/bk,本地名是title,限定名是<bk:title>
XML名称空间的声明有两种形式:
1.<元素名 xmlns:prefixname="URI">
eg.
<orz xmlns:orz="http://www.iteye.com/orz">
<orz:coder>
2.缺省格式<元素名 xmlns="URI">
eg.
<orz xmlns="http://www.iteye.com/orz">
xml名称空间的应用:
原XML内容:
[code]
<?xml version="1.0" encoding="gb2312"?>
<books>
<book>
<title>JAVA编程</title>
<author>
<name>张三</name>
<title>项目经理</title>
</author>
</book>
<book>
<title>JSP编程</title>
<author>
<name>李四</name>
<title>教师</title>
</author>
</book>
</books>
[/code]
因为存在两个TITLE代表不同的含义,加入名称空间加以区分,
所以修改后的XML:
[code]
<?xml version="1.0" encoding="gb2312"?>
<books:books xmlns:people="http://www.iteye.com/people"
xmlns:books="http://www.iteye.com/books">
<books:book>
<books:title>JAVA编程</books:title>
<books:author>
<people:name>张三</people:name>
<people:title>项目经理</people:title>
</books:author>
</books:book>
<books:book>
<books:title>JSP编程</books:title>
<books:author>
<people:name>李四</people:name>
<people:title>教师</people:title>
</books:author>
</books:book>
</books:books>
[/code]
如果使用了名称空间,必须要重写DTD文件:
[code]
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE book [
<!ELEMENT book (bk:title,bk:author)>
<!ATTLIST book xmlns:bk CDATA #REQUIRED>
<!ELEMENT bk:title (#PCDATA)>
<!ELEMENT bk:author (#PCDATA)>
]>
<book xmlns:bk="http://www.iteye.com/bk">
<bk:title>JAVA编程</bk:title>
<bk:author>张三</bk:author>
</book>
[/code]
其中:<bk:title>元素的名称空间前最是bk,名称空间URI是:http://www.iteye.com/bk,本地名是title,限定名是<bk:title>