XML的命名空间
??? 官方概念:xmlns是xml namespace的縮寫,也就是XML命名空間,xmlns 屬性可以在文檔中定義一個或多個可供選擇的命名空間。該屬性可以放置在文檔內(nèi)任何元素的開始標(biāo)簽中。該屬性的值類似于 URL,它定義了一個命名空間,瀏覽器會將此命名空間用于該屬性所在元素內(nèi)的所有內(nèi)容。
??? 為什么需要這個xmlns呢,個人理解是這樣的,比如在xhtml中,允許你使用各個不同的DTD文件,有可能不同的DTD文件中包含了相同的標(biāo)識,那么這樣的話就會出現(xiàn)標(biāo)志沖突的問題,如果使用xmlns的話就可以區(qū)別開在不同文件中的相同的標(biāo)志,例如在a.dtd中和b.dtd中都包含了<table>,但是如果一個xhtml文件同時(shí)包含了這兩個dtd文件,而且使用了標(biāo)志<table>,這樣就會出現(xiàn)標(biāo)志沖突問題,為了解決標(biāo)志沖突問題,就可以使用xmlns如下:
<html xmlns:a="http://www.a.com">
<html xmlns:a="http://www.b.com">
<a:table...>
<b:table...>
這樣就可以區(qū)分開了使用的是哪個dtd文件中的標(biāo)志。
??? 還有個問題,根據(jù)定義:用來標(biāo)識命名空間的網(wǎng)絡(luò)地址并不被XML解析器調(diào)用,XML解析器不需要從這個網(wǎng)絡(luò)地址中查找信息,該網(wǎng)絡(luò)地址的作用僅僅是給命名空間一個唯一的名字,因此這個網(wǎng)絡(luò)地址也可以是虛擬的。
??? 那么對于瀏覽器來說,如何知道<a:table...>應(yīng)該是哪個dtd文件中的標(biāo)志呢?個人理解應(yīng)該是在每個xml的dtd文件中都會規(guī)定xmlns這個值,如果dtd文件中的xmlns的值與xhtml中的值相等,則認(rèn)為是匹配的。
http://hi.baidu.com/%C8%F0%F2%B6%CF%E9/blog/item/b8d81e329400064eac4b5f40.html
總結(jié)
- 上一篇: WLAN与WIFI的区别
- 下一篇: asp.net ajax控件工具集 Au