xmlns是XML Namespaces的縮寫,中文名稱是XML(標準通用標記語言的子集)命名空間。 產生原因 比如: 下麵這個 XML 文檔攜帶著某個表格中的信息: table tr tdApples/td tdBananas/td /tr /table 下麵這個 XML 文檔攜帶有關桌子的信息( ...
xmlns是XML Namespaces的縮寫,中文名稱是XML(標準通用標記語言的子集)命名空間。
產生原因
比如:
下麵這個 XML 文檔攜帶著某個表格中的信息:
table
tr
tdApples/td
tdBananas/td
/tr
/table
下麵這個 XML 文檔攜帶有關桌子的信息(一件傢具):
table
nameAfrican Coffee Table/name
width80/width
length120/length
/table
假如這兩個 XML 文檔被一起使用,由於兩個文檔都包含帶有不同內容和定義的 table 元素,就會發生命名衝突。XML 解析器是無法確定如何處理這類衝突。
為瞭解決上述問題,xmlns就產生了。
使用語法: xmlns:namespace-prefix=namespaceURI
就拿上面的例子解釋怎麼使用xmlns
這個 XML 文檔攜帶著某個表格中的信息:
h:table xmlns:h=url 1
h:tr
h:tdApples/h:td
h:tdBananas/h:td
/h:tr
/h:table此 XML 文檔攜帶著有關一件傢具的信息:
f:table xmlns:f=url 2
f:nameAfrican Coffee Table/f:name
f:width80/f:width
f:length120/f:length
/f:table與僅僅使用首碼不同,我們為 table 標簽添加了一個 xmlns 屬性,這樣就為首碼賦予了一個與某個命名空間相關聯的限定名稱。
xmlns屬性
XML 命名空間屬性被放置於元素的開始標簽之中,並使用以下的語法:
xmlns:namespace-prefix=namespaceURI。
當命名空間被定義在元素的開始標簽中時,所有帶有相同首碼的子元素都會與同一個命名空間相關聯。
註釋:用於標示命名空間的地址不會被解析器用於查找信息。其惟一的作用是賦予命名空間一個惟一的名稱。不過,很多公司常常會作為指針來使用命名空間指向實際存在的網頁,這個網頁包含關於命名空間的信息。
官方概念:xmlns是xml namespace的縮寫,也就是XML命名空間,xmlns 屬性可以在文檔中定義一個或多個可供選擇的命名空間。該屬性可以放置在文檔內任何元素的開始標簽中。該屬性的值類似於 URL,它定義了一個命名空間,瀏覽器會將此命名空間用於該屬性所在元素內的所有內容。
用來標識命名空間的網路地址並不被XML解析器調用,XML解析器不需要從這個網路地址中查找信息,該網路地址的作用僅僅是給命名空間一個唯一的名字,因此這個網路地址也可以是虛擬的。