小編給大家分享一下XML中名字空間的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)公司是專業(yè)的吳橋網(wǎng)站建設公司,吳橋接單;提供成都網(wǎng)站建設、網(wǎng)站設計,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行吳橋網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!XML命名空間提供了一種避免元素命名沖突的方法。
--------------------------------------------------------------------------------
命名沖突
因為XML文檔中使用的元素不是固定的,那么兩個不同的XML文檔使用同一個名字來描述不同類型的元素的情況就可能發(fā)生。而這種情況又往往會導致命名沖突。請看下面兩個例子
這個 XML 文檔在table元素中攜帶了水果的信息:
<table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>
這個XML文檔在table元素中攜帶了桌子的信息(家具,不能吃的哦):
<table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
如果上面兩個XML文檔片斷碰巧在一起使用的話,那么將會出現(xiàn)命名沖突的情況。因為這兩個片斷都包含了<table>元素,而這兩個table元素的定義與所包含的內(nèi)容又各不相同。
--------------------------------------------------------------------------------
使用前綴解決命名沖突問題
下面的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)沒有元素命名沖突的問題了,因為這兩個文檔對各自的table元素使用了不同的前綴,table元素在兩個文檔中分別是(<h:table> 和<f:table>)。
通過使用前綴,我們創(chuàng)建了兩個不同的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>
在上面兩個例子中除了使用前綴外,兩個table元素都使用了xmlns屬性,使元素和不同的命名空間關聯(lián)到一起。
--------------------------------------------------------------------------------
命名空間屬性
命名空間屬性一般放置在元素的開始標記處,其使用語法如下所示:
xmlns:namespace-prefix="namespace"
在上面的例子中,命名空間定義了一個Internet 地址:
xmlns:f="http://www.w3schools.com/furniture"
W3C 命名規(guī)范聲明命名空間本身就是一個統(tǒng)一資源標示符,Uniform Resource Identifier (URI)。
當我們在元素的開始標記處使用命名空間時,該元素所有的子元素都將通過一個前綴與同一個命名空間相互關聯(lián)。
注意:用來標識命名空間的網(wǎng)絡地址并不被XML解析器調(diào)用,XML解析器不需要從這個網(wǎng)絡地址中查找信息,該網(wǎng)絡地址的作用僅僅是給命名空間一個唯一的名字,因此這個網(wǎng)絡地址也可以是虛擬的,然而又很多公司經(jīng)常把這個網(wǎng)絡地址值象一個真實的Web頁面,這個地址包含了關于當前命名空間更詳細的信息。
統(tǒng)一資源標識符
通用資源標識符(A Uniform Resource Identifier (URI))是一個標識網(wǎng)絡資源的字符串。最普通的URI應該是統(tǒng)一資源定位符Uniform Resource Locator (URL)。URL用于標識網(wǎng)絡主機的地址。另一方面,另一個不常用的URI是通用資源名字Universal Resource Name (URN)。在我們的例子中,一般使用的是URLs。
既然前面的例子使用的URL地址來標識命名空間,我們可以確信這個命名空間是唯一的。
--------------------------------------------------------------------------------
默認的命名空間
定義一個默認的XML命名空間使得我們在子元素的開始標記中不需要使用前綴。他的語法如下所示:
<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>
--------------------------------------------------------------------------------
使用命名空間
檔開始使用XSL的時候,就會發(fā)現(xiàn)命名空間使用的是如此頻繁。XSL樣式單主要用于將XML文檔轉(zhuǎn)換成類似于HTML文件的格式。
如果看一下下面的XSL文檔,就會發(fā)現(xiàn)有很多標記都是HTML標記。那些標記并不是HTML標記,是加了前綴的XSL,這個XSL前綴由命名空間"http://www.w3.org/TR/xsl"所標識:
<?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>
看完了這篇文章,相信你對“XML中名字空間的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
新聞標題:XML中名字空間的示例分析-創(chuàng)新互聯(lián)
文章URL:http://muchs.cn/article44/dooehe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、微信公眾號、企業(yè)網(wǎng)站制作、用戶體驗、網(wǎng)站建設、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容