精品欧美无遮挡一区二区三区在线观看,中文字幕一区二区日韩欧美,久久久久国色αv免费观看,亚洲熟女乱综合一区二区三区

        ? 首頁(yè) ? 百科知識(shí) ?的命名空間

        的命名空間

        時(shí)間:2023-10-17 百科知識(shí) 版權(quán)反饋
        【摘要】:XML文檔中使用的元素不是固定的,兩個(gè)不同的XML文檔使用同一個(gè)名字來(lái)描述不同類型的元素的情況就可能發(fā)生,尤其在把不同的XML文檔合而為一時(shí),更容易產(chǎn)生沖突。請(qǐng)先看下面兩個(gè)例子:如果上述兩個(gè)XML文檔片斷碰巧在一起使用的話,那么將會(huì)出現(xiàn)命名沖突的情況。命名空間屬性一般放置在元素的開始標(biāo)記處,其使用語(yǔ)法為:Xmlns:namespaceprefix ="namespace"。在上述的例子中,命名空間定義了一個(gè)Internet 地址:Xmlns:t=http://www.w3.org/TR/html4/。W 3C 命名規(guī)范聲明命名空間本身就是一個(gè)統(tǒng)一資源標(biāo)識(shí)符。

        11.2.4 XML的命名空間

        (1)命名沖突

        XML文檔中使用的元素不是固定的,兩個(gè)不同的XML文檔使用同一個(gè)名字來(lái)描述不同類型的元素的情況就可能發(fā)生,尤其在把不同的XML文檔合而為一時(shí),更容易產(chǎn)生沖突。請(qǐng)先看下面兩個(gè)例子:

        下面的XML文檔commodities元素中攜帶了運(yùn)動(dòng)服的信息:

          <commodities>

          <commodityNo>11010</ commodityNo>

          <commodityName>運(yùn)動(dòng)服</commodityName>

          </commodities>

        下面的XML文檔在commodities元素中攜帶了電視機(jī)的信息:

          <commodities>

          <name>長(zhǎng)虹彩電</name>

          <size>29寸</size>

          </commodities>

        如果上述兩個(gè)XML文檔片斷碰巧在一起使用的話,那么將會(huì)出現(xiàn)命名沖突的情況。因?yàn)檫@兩個(gè)片斷都包含了<table>元素,而這兩個(gè)table元素的定義與所包含的內(nèi)容又各不相同。

        (2)使用前綴解決命名沖突

        XML命名空間就提供了一種避免元素命名沖突的方法,即使用前綴解決命名沖突問(wèn)題。再看下例:

        下面的XML文檔在元素commodities中攜帶了運(yùn)動(dòng)服的信息:

          <s:commodities>

          <s:commodityNo>11010</ s:commoditiyNo>

          <s:commodityName>運(yùn)動(dòng)服</s:commodityName>

          </s:commodities>

        下面的XML文檔在元素commodities中攜帶了電視機(jī)的信息:

          <t:commodities>

          <t:name>長(zhǎng)虹彩電</t:name>

          <t:size>29寸</t:size>

          </t:commodities>

        現(xiàn)在就沒有命名沖突了,因?yàn)檫@兩個(gè)文檔對(duì)各自的commodities元素使用了不同的前綴,commodities元素在兩個(gè)文檔中分別是<s:commodities> 和<t:commodities>,即通過(guò)前綴,我們創(chuàng)建了兩個(gè)不同的commodities元素。

        (3)使用命名空間

        下面的XML文檔在commodities元素中攜帶了運(yùn)動(dòng)服信息:

          <s:commodities Xmlns:s="http://www.w3.org/TR/htm l4/">

          <s:commodities>

          <s:commodityNo>11010</ s:commoditiyNo>

          <s:commodityName>運(yùn)動(dòng)服</s:commodityName>

          </s:commodities>

        下面的XML文檔在commodities元素中攜帶了電視機(jī)信息:

          <t:commodities Xmlns:f="http://www.w3schools.com/TV">

          <t:commodities>

          <t:name>長(zhǎng)虹彩電</t:name>

          <t:size>29寸</t:size>

          </t:commodities>

        在上述兩個(gè)例子中除了使用前綴外,兩個(gè)commodities元素都使用了Xmlns屬性,使元素和不同的命名空間關(guān)聯(lián)到一起了。

        (4)命名空間屬性

        命名空間屬性一般放置在元素的開始標(biāo)記處,其使用語(yǔ)法為:Xmlns:namespaceprefix ="namespace"。

        在上述的例子中,命名空間定義了一個(gè)Internet 地址:Xmlns:t=http://www.w3.org/TR/html4/。

        W 3C 命名規(guī)范聲明命名空間本身就是一個(gè)統(tǒng)一資源標(biāo)識(shí)符(Uniform Resource Identifier,URI)。

        當(dāng)我們?cè)谠氐拈_始標(biāo)記處使用命名空間時(shí),該元素所有的子元素都將通過(guò)一個(gè)前綴與同一個(gè)命名空間相互關(guān)聯(lián)。

        注意:用來(lái)標(biāo)識(shí)命名空間的網(wǎng)絡(luò)地址并不被XML解析器調(diào)用,XML解析器不需要從這個(gè)網(wǎng)絡(luò)地址中查找信息,該網(wǎng)絡(luò)地址的作用僅僅是給命名空間一個(gè)唯一的名字,因此這個(gè)網(wǎng)絡(luò)地址也可以是虛擬的,然而有很多公司經(jīng)常把這個(gè)網(wǎng)絡(luò)地址映射到一個(gè)真實(shí)的Web頁(yè)面,這個(gè)地址包含了關(guān)于當(dāng)前命名空間更詳細(xì)的信息。

        如果省略local_prefix(本地前綴),這時(shí)就構(gòu)成了缺省命名空間:

          <commodities Xmlns="http://www.w3.org/TR/html4/">

          <commodities>

          <commodityNo>11010</ commodityNo>

          <commodityName>運(yùn)動(dòng)服</commodityName>

          </commodities>

        如果對(duì)一個(gè)元素定義了缺省命名空間,那么該元素及其子元素,包括它們的屬性都會(huì)自動(dòng)地成為該命名空間的一部分,不用再在每一個(gè)元素和屬性前面一一標(biāo)明了。

        免責(zé)聲明:以上內(nèi)容源自網(wǎng)絡(luò),版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請(qǐng)告知,我們將盡快刪除相關(guān)內(nèi)容。

        我要反饋