以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  命名空间详解  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=11503)


--  作者:scil
--  发布时间:11/2/2004 4:58:00 PM

--  命名空间详解
一两种
非默认的 <元素名称 xmlns:prefix="****">
默认的  <元素名称 xmlns="****">

二 作用域
作用于它所在元素及该元素内部所有元素
    例外:覆盖 子女元素又声明命名空间则她们使用新命名空间或旧命名空间(见下例);使用同一前缀但url不同时 将使用新命名空间
  覆盖的例外:默认的名称空间不作用于属性(非默认的空间作用之);默认的名称空间如果遇到空值的下级名称空间将被取消


覆盖之子女新声明
<?xml version='1.0' ?>
<items xmlns='http://www.items.org'>
<book xmlns='http://www.jmedium.com'> <!--默认声明-->
<title>The Joy</title>  <!--隐性使用-->
</book>
<pencil>
<kind>soft</kind>
</pencil>
<pens:pen xmlns:pens='http://www.pens.org'> <!--非默认声明-->
<pens:location>Germany</pens:location> <!--显性使用-->
<country>Germany</country> <!--隐性使用-->
</pens:pen>
</items>

book内的元素使用www.jmedium.com
pens中的location使用www.pens.org
pens中的country使用www.items.org
即 内部的命名空间 全是默认形式或全不是默认形式 则使用内部的命名空间;如果混合形式如pens,则没有前缀的使用外部的命名空间

覆盖之子女同一前缀但不同url

〈a xmlns:a='abc'>
 <b xmlns:a='cde'>
 *** <!--使用cde-->
 </b>
 ****  <!--恢复到abc-->
</a>


覆盖之例外一

<a xmlns='abc'>
<b xmlns=''>
<!--这里没有默认命名空间了-->
</b>
</a>

覆盖之例外二
<x xmlns='panda' xmlns:history='history'>
<a history:b="foo" c="bar"/>
</a>
</x>

此例中 元素a的空间为panda 属性b为hisotry 属性c没有命名空间


--  作者:small
--  发布时间:2/6/2005 8:01:00 PM

--  
顶一下,不错。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
5,328.125ms