小編給大家分享一下XML中名字空間的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)專(zhuān)注于播州企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站制作。播州網(wǎng)站建設(shè)公司,為播州等地區(qū)提供建站服務(wù)。全流程按需定制制作,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
XML命名空間提供了一種避免元素命名沖突的方法。
--------------------------------------------------------------------------------
命名沖突
因?yàn)閄ML文檔中使用的元素不是固定的,那么兩個(gè)不同的XML文檔使用同一個(gè)名字來(lái)描述不同類(lèi)型的元素的情況就可能發(fā)生。而這種情況又往往會(huì)導(dǎo)致命名沖突。請(qǐng)看下面兩個(gè)例子
這個(gè) XML 文檔在table元素中攜帶了水果的信息:
<table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>
這個(gè)XML文檔在table元素中攜帶了桌子的信息(家具,不能吃的哦):
<table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
如果上面兩個(gè)XML文檔片斷碰巧在一起使用的話(huà),那么將會(huì)出現(xiàn)命名沖突的情況。因?yàn)檫@兩個(gè)片斷都包含了<table>元素,而這兩個(gè)table元素的定義與所包含的內(nèi)容又各不相同。
--------------------------------------------------------------------------------
使用前綴解決命名沖突問(wèn)題
下面的XML文檔在table元素中攜帶了信息:
<h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table>
下面的XML文檔攜帶了家具table的信息:
<f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>
現(xiàn)在已經(jīng)沒(méi)有元素命名沖突的問(wèn)題了,因?yàn)檫@兩個(gè)文檔對(duì)各自的table元素使用了不同的前綴,table元素在兩個(gè)文檔中分別是(<h:table> 和<f:table>)。
通過(guò)使用前綴,我們創(chuàng)建了兩個(gè)不同的table元素。
--------------------------------------------------------------------------------
使用命名空間
下面的XML文檔在table元素中攜帶了信息:
<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>
下面的XML文檔攜帶了家具table的信息:
<f:table xmlns: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>
在上面兩個(gè)例子中除了使用前綴外,兩個(gè)table元素都使用了xmlns屬性,使元素和不同的命名空間關(guān)聯(lián)到一起。
--------------------------------------------------------------------------------
命名空間屬性
命名空間屬性一般放置在元素的開(kāi)始標(biāo)記處,其使用語(yǔ)法如下所示:
xmlns:namespace-prefix="namespace"
在上面的例子中,命名空間定義了一個(gè)Internet 地址:
xmlns:f="http://www.w3schools.com/furniture"
W3C 命名規(guī)范聲明命名空間本身就是一個(gè)統(tǒng)一資源標(biāo)示符,Uniform Resource Identifier (URI)。
當(dāng)我們?cè)谠氐拈_(kāi)始標(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ì)的信息。
統(tǒng)一資源標(biāo)識(shí)符
通用資源標(biāo)識(shí)符(A Uniform Resource Identifier (URI))是一個(gè)標(biāo)識(shí)網(wǎng)絡(luò)資源的字符串。最普通的URI應(yīng)該是統(tǒng)一資源定位符Uniform Resource Locator (URL)。URL用于標(biāo)識(shí)網(wǎng)絡(luò)主機(jī)的地址。另一方面,另一個(gè)不常用的URI是通用資源名字Universal Resource Name (URN)。在我們的例子中,一般使用的是URLs。
既然前面的例子使用的URL地址來(lái)標(biāo)識(shí)命名空間,我們可以確信這個(gè)命名空間是唯一的。
--------------------------------------------------------------------------------
默認(rèn)的命名空間
定義一個(gè)默認(rèn)的XML命名空間使得我們?cè)谧釉氐拈_(kāi)始標(biāo)記中不需要使用前綴。他的語(yǔ)法如下所示:
<element xmlns="namespace">
下面的XML文檔在table元素中包含了水果的信息:
<table xmlns="http://www.w3.org/TR/html4/"> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>
下面的XML文檔包含了家具table的信息:
<table xmlns="http://www.w3schools.com/furniture"> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
--------------------------------------------------------------------------------
使用命名空間
檔開(kāi)始使用XSL的時(shí)候,就會(huì)發(fā)現(xiàn)命名空間使用的是如此頻繁。XSL樣式單主要用于將XML文檔轉(zhuǎn)換成類(lèi)似于HTML文件的格式。
如果看一下下面的XSL文檔,就會(huì)發(fā)現(xiàn)有很多標(biāo)記都是HTML標(biāo)記。那些標(biāo)記并不是HTML標(biāo)記,是加了前綴的XSL,這個(gè)XSL前綴由命名空間"http://www.w3.org/TR/xsl"所標(biāo)識(shí):
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl=" <xsl:template match="/"> <html> <body> <table border="2" bgcolor="yellow"> <tr> <th>Title</th> <th>Artist</th> </tr> <xsl:for-each select="CATALOG/CD"> <tr> <td><xsl:value-of select="TITLE"/></td> <td><xsl:value-of select="ARTIST"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
看完了這篇文章,相信你對(duì)“XML中名字空間的示例分析”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
分享名稱(chēng):XML中名字空間的示例分析
URL網(wǎng)址:http://www.chinadenli.net/article28/pgiicp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、手機(jī)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、搜索引擎優(yōu)化、網(wǎng)頁(yè)設(shè)計(jì)公司、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)