xmlns是什麼意思?

 做WEB頁面的人經常會碰到形如<html xmlns="http://www.w3.org/1999/xhtml">這樣的代碼,那後面的xmlns是表示什麼意思呢?

    官方概念:xmlns是xml namespace的縮寫,也就是XML命名空間,xmlns 屬性可以在文檔中定義一個或多個可供選擇的命名空間。該屬性可以放置在文檔內任何元素的開始標籤中。該屬性的值類似於 URL,它定義了一個命名空間,瀏覽器會將此命名空間用於該屬性所在元素內的所有內容。

 

    爲什麼需要這個xmlns呢,個人理解是這樣的,比如在xhtml中,允許你使用各個不同的DTD文件,有可能不同的DTD文件中包含了相同的標識,那麼這樣的話就會出現標誌衝突的問題,如果使用xmlns的話就可以區別開在不同文件中的相同的標誌,例如在a.dtd中和b.dtd中都包含了<table>,但是如果一個xhtml文件同時包含了這兩個dtd文件,而且使用了標誌<table>,這樣就會出現標誌衝突問題,爲了解決標誌衝突問題,就可以使用xmlns如下:

<html xmlns:a="http://www.a.com">

<html xmlns:b="http://www.b.com">

<a:table...>

<b:table...>

這樣就可以區分開了使用的是哪個dtd文件中的標誌。

 

    還有個問題,根據定義:用來標識命名空間的網絡地址並不被XML解析器調用,XML解析器不需要從這個網絡地址中查找信息,該網絡地址的作用僅僅是給命名空間一個唯一的名字,因此這個網絡地址也可以是虛擬的。

    那麼對於瀏覽器來說,如何知道<a:table...>應該是哪個dtd文件中的標誌呢?個人理解應該是在每個xml的dtd文件中都會規定xmlns這個值,如果dtd文件中的xmlns的值與xhtml中的值相等,則認爲是匹配的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章