XML的命名空間

2021-05-27 02:23:22 字數 696 閱讀 9292

做web頁面的人經常會碰到形如這樣的**,那後面的xmlns是表示什麼意思呢?

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

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

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

還有個問題,根據定義:用來標識命名空間的網路位址並不被xml解析器呼叫,xml解析器不需要從這個網路位址中查詢資訊,該網路位址的作用僅僅是給命名空間乙個唯一的名字,因此這個網路位址也可以是虛擬的。

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

XML 命名空間

xml 命名空間提供了一種避免元素命名衝突的方法。因為xml文件中使用的元素不是固定的,那麼兩個不同的xml文件使用同乙個名字來描述不同型別的元素的情況就可能發生。而這種情況又往往會導致命名衝突。請看下面兩個例子 這個 xml 文件在table元素中攜帶了水果的資訊 bananas 這個 xml 文...

XML 命名空間

xml 命名空間 xml 命名空間提供了一種避免元素命名衝突的方法。命名衝突 因為xml文件中使用的元素不是固定的,那麼兩個不同的xml文件使用同乙個名字來描述不同型別的元素的情況就可能發生。而這種情況又往往會導致命名衝突。請看下面兩個例子 這個 xml 文件在table元素中攜帶了水果的資訊 ba...

xml命名空間

xml命名空間 這個理解起來總感覺有些抽象,不太好懂,自己學的也是一知半解,但是感覺它的存在卻是很不同凡響的,在xml的應用中,給我們帶來了很多方便,也讓xml的功能得到了很大的提公升,自己感覺的,呵呵,有說的不對的地方,不要見笑喲 在進入正題之前,我們先引用乙個例子 bananas 在上面這個xm...