什么是xml名域?
xml名域是一组可以用作xml文档的元素或属性名称的名称集。为了避免元素之间出现相
同名称的冲突,名域限定web中的名称必须是唯一的。名域由某些uri(universal reso
urce identifier)来进行识别,不管是url(uniform resource locator),还是urn(
uniform resource number)都没有关系,它并不管指向的什么内容。uri使用简单,因
为它们在internet上是全球唯一的。
名域可以显式声明,也可以缺省声明。在显式声明中可以定义一个简写形式或是一个词
头来代替整个名域,可以使用这个词头来引用属于名域的元素。当节点包含不同名域的
元素时,显式声明非常有用。缺省声明声明一个可以被所有元素访问的名域,而且并不
定义词头。
<books>
<bk:book xmlns:bk="urn:booklovers.org:bookinfo"
xmlns:money="urn:finance:money">
<bk:title>a suitable boy</bk:title>
<bk:price money:currency="us dollar">22.95</bk:price>
</bk:book>
</books>
所有以"bk:"或"money:"开头的元素都可以看成是分别来自于名域"urn:booklovers.org
:bookinfo"或"urn:finance:money"。
如何声明缺省名域?
在名域声明时没有词头就属于文档的缺省名域,文档中所有没有词头的元素和属性都属
于缺省名域。下面的例子声明了<book>元素和<book>中所有的元素(<title>, <price>
, currency)都属于名域"urn:booklovers.org:bookinfo."。
<book xmlns="urn:booklovers.org:bookinfo">
<title>a suitable boy</title>
<price currency="us dollar">22.95</price>
</book>