關於命名空間

命名空間的做用是爲了不元素命名衝突html

 

命名衝突spa

在XML中,元素名稱是自定義的,當兩個不一樣的XML樹在同一個文檔中使用相同的元素名時,就會發生命名衝突,以下:
它們都使用到了<table>,XML解析器沒法肯定如何處理這類衝突指針

<!--如下表示HTML表格的信息-->
<table>
    <tr>
        <td>Apples</td>
        <td>Bananas</td>
    </tr>
</table>

<!--如下表示有關桌子的信息(一件傢俱)-->

<table>
    <name>African Coffee Table</name>
        <width>80</width>
    <length>120</length>
</table>

 

前綴code

在XML中的命名衝突能夠經過使用名稱前綴從而容易地避免。以下:xml

<!--下面實例中,不會有衝突,由於兩個 <table> 元素有不一樣的名稱-->
<h:table>
    <h:tr>
        <h:td>Apples</h:td>
        <h:td>Bananas</h:td>
    </h:tr>
</h:table>

<f:table>
    <f:name>African Coffee Table</f:name>
    <f:width>80</f:width>
    <f:length>120</f:length>
</f:table>

 

命名空間htm

當在XML中使用前綴時,一個所謂的用於前綴的命名空間必須被定義
命名空間是在元素的開始標籤的 xmlns 屬性中定義的blog

命名空間聲明的語法:xmlns:前綴="URI"。文檔

在下面實例中,<table>標籤的xmlns屬性定義了 h: 和 f: 前綴的合格命名空間it

<!--當命名空間被定義在元素的開始標籤中時,全部帶有相同前綴的子元素都會與同一個命名空間相關聯-->
<root>

    <h:table xmlns:h="http://www.w3.org/TR/html4/">
        <h:tr>
            <h:td>Apples</h:td>
            <h:td>Bananas</h:td>
        </h:tr>
    </h:table>

    <f:table xmlns:f="http://www.w3cschool.cc/furniture">
        <f:name>African Coffee Table</f:name>
        <f:width>80</f:width>
        <f:length>120</f:length>
    </f:table>

</root>


<!--命名空間,能夠在他們被使用的元素中或者在 XML 根元素中聲明-->
<root xmlns:h="http://www.w3.org/TR/html4/" xmlns:f="http://www.w3cschool.cc/furniture">

    <h:table>
        <h:tr>
            <h:td>Apples</h:td>
            <h:td>Bananas</h:td>
        </h:tr>
    </h:table>

    <f:table>
        <f:name>African Coffee Table</f:name>
        <f:width>80</f:width>
        <f:length>120</f:length>
    </f:table>

</root>

注意:
  命名空間URI不會被解析器用於查找信息。
  其目的是賦予命名空間一個唯一的名稱
  但不少公司經常會做爲指針來使用命名空間指向實際存在的網頁,這個網頁包含關於命名空間的信息table

相關文章
相關標籤/搜索