產生原因
比如:
下面這個 XML 文檔攜帶著某個表格中的信息:
下面這個 XML 文檔攜帶有關桌子的信息(一件家具):
假如這兩個 XML 文檔被一起使用,由於兩個文檔都包含帶有不同內容和定義的 <table> 元素,就會發生命名衝突。XML 解析器是無法確定如何處理這類衝突。
使用方法
為了解決上述問題,xmlns就產生了。
使用語法: xmlns:namespace-prefix="namespaceURI"
就拿上面的例子解釋怎么使用xmlns
這個 XML 文檔攜帶著某個表格中的信息:
<h:table xmlns:h="url 1">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>此 XML 文檔攜帶著有關一件家具的信息:
<f:table xmlns:f="url 2">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>與僅僅使用前綴不同,我們為 <table> 標籤添加了一個 xmlns 屬性,這樣就為前綴賦予了一個與某個命名空間相關聯的限定名稱。
xmlns屬性
當在 XML 中使用前綴時,一個所謂的用於前綴的 命名空間必須被定義。
命名空間是在元素的開始標籤的 xmlns 屬性中定義的。
XML 命名空間屬性被放置於元素的開始標籤之中,並使用以下的語法:
xmlns:namespace-prefix="namespaceURI"。
當命名空間被定義在元素的開始標籤中時,所有帶有相同前綴的子元素都會與同一個命名空間相關聯。
注釋:用於標示命名空間的地址不會被解析器用於查找信息。其惟一的作用是賦予命名空間一個惟一的名稱。不過,很多公司常常會作為指針來使用命名空間指向實際存在的網頁,這個網頁包含關於命名空間的信息 。