posts - 56,  comments - 12,  trackbacks - 0
          XML 名字空間提供了一種避免元素名沖突的方法。
              
             b> 名字沖突
               
             由于 XML 中的元素名不是固定的,因此當兩個不同的文檔使用同樣的名字描述兩個不同類型的元素時就會發生名沖突
            
          下面這個 XML 文檔在一個表格中攜帶了信息 :
              
            < table>
            
             < tr>
            
             < td>Apples< /td>
            
             < td>Bananas< /td>
            
             < /tr>
            
             < /table>
            
            
             下面這個 XML 文檔攜帶了關于一個表格的信息 ( 關于一件家具的信息 ):
            
            
             < table>
            
             < name>African Coffee Table< /name>
            
             < width>80< /width>
            
             < length>120< /length>
            
             < /table>
            
            
             如果這兩個 XML 文檔被加在一起,就會發生一個元素名沖突,因為這兩個文檔都包含了一個 < table> 元素,而這兩個元素的內容和定義都不同。
            
              
             b> 用一個前綴解決名沖突
            
            
             下面這個 XML 文檔在一個表格中攜帶了信息:
            
            
             < h:table>
            
             < h:tr>
            
             < h:td>Apples< /h:td>
            
             < h:td>Bananas< /h:td>
            
             < /h:tr>
            
             < /h:table>
            
            
             而這個 XML 文檔則攜帶了一件家具的信息:
            
            
             < f:table>
            
             < f:name>African Coffee Table< /f:name>
            
             < f:width>80< /f:width>
            
             < f:length>120< /f:length>
            
             < /f:table>
            
            
             現在就沒有元素名沖突的問題了,因為兩個文檔分別給他們的 < table> 元素使用了不同的名字: (< h:table> < f:table>) 通過使用一個前綴,我們創建了兩個不同類型的 < table> 元素。
             
            
             b> 使用名字空間
            
            
             下面這個 XML 文檔在一個表格中攜帶了信息
            
            
             < h:tablexmlns:h="http://www.w3.org/TR/html4/">
            
             < h:tr>
            
             < h:td>Apples< /h:td>
            
             < h:td>Bananas< /h:td>
            
             < /h:tr>
            
             < /h:table>
            
            
             這個 XML 文檔攜帶了一件家具的信息 :
            
            
             < f:tablexmlns:f="http://www.w3schools.com/furniture">
            
             < f:name>African Coffee Table< /f:name>
            
             < f:width>80< /f:width>
            
             < f:length>120< /f:length>
            
             < /f:table>
            
            
             在這里不是只使用前綴,在 < table> 標記上還增加了一個 xmlns 屬性,這樣就給元素前綴一個與名字空間相聯系的有資格的名字。
            
            
            
            
             b> 名字空間屬性
            
            
             名字空間屬性放在一個元素的起始標記中,它的語法如下 :
            
            
             xmlns:namespace-prefix="namespace"
            
            
             在上面的例子中,名字空間本身是用一個 Internet 地址定義的:
            
            
             xmlns:f="http://www.w3schools.com/furniture">
            
            
             W3C 名字空間規范規定名字空間本身應該是一個統一資源識別號 (URI) 。當一個名字空間在一個元素的起始標記中被定義時,所有相同前綴的子元素都與同樣的名字空間相關。 注意:分解器并不使用用來識別名字空間的地址去查找信息。這個地址唯一的目的就是給名字空間一個唯一的名字。但是,公司經常將名空間作為包含名空間信息的實際 Web 頁面的一個指針。訪問 http://www.w3.org/TR/html4/ 試一試。
              
             b> 統一資源識別號
            
            
             一個統一資源識別號 (URI) 是識別一個 Internet 資源的字符串。通常 URI 就是識別一個 Internet 域地址的 URL 。另外,有少數一些類型的 URI 是通用資源名 (URN) 。在我們的例子中只使用 URL 。由于我們這個家具的例子中使用一個 Internet 地址去識別其名字空間,我們可以肯定我們的名字空間是唯一的。
          posted on 2007-01-19 00:11 苦笑枯 閱讀(207) 評論(0)  編輯  收藏 所屬分類: Xml

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          收藏來自互聯網,僅供學習。若有侵權,請與我聯系!

          <2007年1月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(2)

          隨筆分類(56)

          隨筆檔案(56)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 都兰县| 高邑县| 诸暨市| 来宾市| 长岛县| 顺平县| 佛坪县| 吉安市| 蓝山县| 陇西县| 赣州市| 永平县| 香格里拉县| 桦南县| 高阳县| 读书| 大荔县| 宜川县| 保康县| 呼和浩特市| 海口市| 兰考县| 大安市| 印江| 黔江区| 密云县| 揭东县| 河西区| 宁国市| 榆林市| 黄骅市| 文昌市| 咸阳市| 南皮县| 新巴尔虎右旗| 沙雅县| 黄骅市| 嘉荫县| 微山县| 莒南县| 萍乡市|