XML 命名空間提供了一種避免元素命名衝突的方法
來源:互聯網
上載者:User
XML 命名空間提供了一種避免元素命名衝突的方法。
-------------------------------------------------------------------------------- 命名衝突因為XML文檔中使用的元素不是固定的,那麼兩個不同的XML文檔使用同一個名字來描述不同類型的元素的情況就可能發生。而這種情況又往往會導致命名衝突。請看下面兩個例子 這個 XML 文檔在table元素中攜帶了水果的資訊:
Apples
Bananas這個 XML 文檔在table元素中攜帶了桌子的資訊(傢具,不能吃的哦):
African Coffee Table 80 120
如果上面兩個XML文檔片斷碰巧在一起使用的話,那麼將會出現命名衝突的情況。因為這兩個片斷都包含了
元素,而這兩個table元素的定義與所包含的內容又各不相同。
-------------------------------------------------------------------------------- 使用首碼解決命名衝突問題下面的XML文檔在table元素中攜帶了資訊: Apples Bananas 下面的XML文檔攜帶了傢具table的資訊: African Coffee Table 80 120 在上面兩個例子中除了使用首碼外,兩個table元素都使用了xmlns屬性,使元素和不同的命名空間關聯到一起。
-------------------------------------------------------------------------------- 命名空間屬性命名空間屬性一般放置在元素的開始標記處,其使用文法如下所示: xmlns:namespace-prefix="namespace" 在上面的例子中,命名空間定義了一個網際網路位址: xmlns:f="http://www.w3schools.com/furniture" W3C 命名規範聲明命名空間本身就是一個統一資源標示符,Uniform Resource Identifier (URI)。
當我們在元素的開始標記處使用命名空間時,該元素所有的子項目都將通過一個首碼與同一個命名空間相互關聯。
注意:用來標識命名空間的網路地址並不被XML解析器調用,XML解析器不需要從這個網路地址中尋找資訊,該網路地址的作用僅僅是給命名空間一個唯一的名字,因此這個網路地址也可以是虛擬,然而又很多公司經常把這個網路地址值象一個真實的Web頁面,這個地址包含了關於當前命名空間更詳細的資訊。