`
and4walker
  • 浏览: 557857 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

XML名称空间

    博客分类:
  • XML
阅读更多
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内容:
<?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>

因为存在两个TITLE代表不同的含义,加入名称空间加以区分,
所以修改后的XML:
<?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>

如果使用了名称空间,必须要重写DTD文件:
<?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>

其中:<bk:title>元素的名称空间前最是bk,名称空间URI是:http://www.iteye.com/bk,本地名是title,限定名是<bk:title>
分享到:
评论
1 楼 leadalyl 2011-10-18  
如果名称加名称空间会有什么影响勒?不是很名称名称空间是干嘛用的,有什么作用

相关推荐

Global site tag (gtag.js) - Google Analytics