這篇文章主要介紹XML名稱空間是什么,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

XML名稱空間表示XML名稱的使用范圍,因為XML可自定義元素標(biāo)簽,所以有不同XML應(yīng)用間XML名稱重名的機(jī)會是很大的。
如果沒有一種方法來區(qū)分不應(yīng)用的名稱,就會造成混亂。XML名稱空間就是為了解決這個問題而設(shè)計的。通過XML名稱空間,我們可以區(qū)分來自不同的XML應(yīng)用的具有相
XML名稱空間表示XML名稱的使用范圍,因為XML可自定義元素標(biāo)簽,所以有不同XML應(yīng)用間XML名稱重名的機(jī)會是很大的。如果沒有一種方法來區(qū)分不應(yīng)用的名稱,就會造成混亂。XML名稱空間就是為了解決這個問題而設(shè)計的。通過XML名稱空間,我們可以區(qū)分來自不同的XML應(yīng)用的具有相同名稱的元素和屬性。可以將來自單一XML應(yīng)用的相關(guān)元素和屬性集合在一起,方便軟件識別和處理。
名稱空間由前綴和本地部分組成,中間用冒號分隔。前綴標(biāo)識元素或?qū)傩缘乃诿Q空間,本地部分標(biāo)識名稱空間中的某個元素或?qū)傩浴U麄€名稱也稱為限定名稱(qualified name)。前綴可以用除XML(大小寫任意組合)三個字母外的任何合法的XML名稱字符組成。每個限定名稱中的前綴都必須與唯一的一個URI關(guān)聯(lián)。帶有相同URI關(guān)聯(lián)的前綴的名稱屬于同一名稱空間。
<rdf:RDF xmlns:rdf="http://www.w3.org/TR/REC-rdf-syntax#"> <rdf:Description about="http://www.example.com/test.xml"> <title>example</title> <author>linuxsir</author> ... </rdf:Description> </rdf:RDF>
前綴一般在使用該前綴的最上層元素中定義。在下層元素中也可定義不同的前綴:
<rdf:RDF xmlns:rdf="http://www.w3.org/TR/REC-rdf-syntax#"> <rdf:Description xmlns:dc="http://www.w3.org/dc/" about="http://www.example.com/test.xml"> <dc:title>example</dc:title> <dc:author>linuxsir</dc:author> ... </rdf:Description> </rdf:RDF>
通過將無前綴的xmlns屬性附加到根元素中,可以指定不帶前綴的元素及所有不帶前綴的子元素屬于某個名稱空間。
<svg xmlns="http://www.w3.org/2000/svg"> <ellipse rx="110" ry="130" /> <rect x="4cm" y="1cm" /> </svg>
如果名稱空間只用來識別來自某種XML應(yīng)用的元素和屬性,而不是用來區(qū)分具有相同名稱的不同元素,則可在DTD的元素中定義一個固定的xmlns屬性,而不需要文檔中定義。定義方法如下:
<!ATTLIST svg xmlns CDATA #FIXED "http://www.w3.org/svg/">
在定義DTD時,需要使用名稱空間前綴的在定義時也要把前綴寫到DTD定義里,如:
<!ELEMENT xlink:name (#PCDATA)>
使用參數(shù)實體引用來定義名稱空間前綴可方便DTD文檔的維護(hù),整理發(fā)布!轉(zhuǎn)載請注明出處,謝謝!
<!ENTITY % prefix "xlink"> <!ENTITY % colon ":">
接著,利用該參數(shù)實體名稱定義更多的參數(shù)實體引用,如:
<!ENTITY % xlink-title "%prefix;%colon;title"> <!ENTITY % xlink-author "%prefix;%colon;author">
這樣,如果需更改前綴,只需修改一個地方就可以了,不用整篇文檔修改。
<!ELEMENT %xlink-title; (#PCDATA)> <!ELEMENT %xlink-author; (#PCDATA)> 不能在ATTLIST和ELEMENT聲明中直接使用%prefix;和%colon;, 因為在另一個實體的外部使用這些參數(shù)實體時,XML解析器會在實體替換文本的兩邊添加額外的空格。
以上是“XML名稱空間是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前文章:XML名稱空間是什么-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://www.chinadenli.net/article10/dcdjdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、關(guān)鍵詞優(yōu)化、商城網(wǎng)站、自適應(yī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)容