- 相關(guān)推薦
XML名稱空間入門教程
XML名稱空間表示XML名稱的使用范圍,因為XML可自定義元素標(biāo)簽,所以有不同XML應(yīng)用間XML名稱重名的機會是很大的。如果沒有一種方法來區(qū)分不應(yīng)用的名稱,就會造成混亂。XML名稱空間就是為了解決這個問題而設(shè)計的。通過XML名稱空間,我們可以區(qū)分來自不同的XML應(yīng)用的具有相
XML名稱空間表示XML名稱的使用范圍,因為XML可自定義元素標(biāo)簽,所以有不同XML應(yīng)用間XML名稱重名的機會是很大的。如果沒有一種方法來區(qū)分不應(yīng)用的名稱,就會造成混亂。XML名稱空間就是為了解決這個問題而設(shè)計的。通過XML名稱空間,我們可以區(qū)分來自不同的XML應(yīng)用的具有相同名稱的元素和屬性?梢詫碜詥我籜ML應(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)的前綴的名稱屬于同一名稱空間。
linuxsir...
上例rdf:RDF元素的xmlns:rdf屬性將前綴rdf綁定到名稱空間http://www.w3.org/TR/REC-rdf-syntax#。屬性xmlns:rdf為rdf:RDF元素及其子元素聲明了前綴rdf。RDF處理器將把rdf:RDF和rdf:Description作為RDF元素,因為兩個元素都具有與RDF規(guī)范定義的某個URI相綁定的前綴。處理器不會認(rèn)為title,author等元素為RDF元素,因為它沒有綁定到相同URI的rdf前綴。本文由()整理發(fā)布!轉(zhuǎn)載請注明出處,謝謝!
前綴一般在使用該前綴的最上層元素中定義。在下層元素中也可定義不同的前綴:
examplelinuxsir...
不帶前綴的屬性,如about,不屬于任何的名稱空間。如xlink:type和xlink:href屬性屬于xlink名稱空間,當(dāng)然,前提是你要先把xlink綁定到一個URI。URI不必須是一定存在的http鏈接,它只是一種表示的方法,以區(qū)分不同的名稱空間。
通過將無前綴的xmlns屬性附加到根元素中,可以指定不帶前綴的元素及所有不帶前綴的子元素屬于某個名稱空間。
這里,雖然所有元素都沒有前綴,但它都同屬一個名稱空間。但屬性屬不同名稱空間,因為默認(rèn)名稱空間只應(yīng)用于元素。默認(rèn)名稱空間在子元素中也用相同的方法重新設(shè)置。
如果名稱空間只用來識別來自某種XML應(yīng)用的元素和屬性,而不是用來區(qū)分具有相同名稱的不同元素,則可在DTD的元素中定義一個固定的xmlns屬性,而不需要文檔中定義。定義方法如下:
在定義DTD時,需要使用名稱空間前綴的在定義時也要把前綴寫到DTD定義里,如:
使用參數(shù)實體引用來定義名稱空間前綴可方便DTD文檔的維護(hù),如:本文由()整理發(fā)布!轉(zhuǎn)載請注明出處,謝謝!
接著,利用該參數(shù)實體名稱定義更多的參數(shù)實體引用,如:
這樣,如果需更改前綴,只需修改一個地方就可以了,不用整篇文檔修改。
不能在ATTLIST和ELEMENT聲明中直接使用%prefix;和%colon;,因為在另一個實體的外部使用這些參數(shù)實體時,XML解析器會在實體替換文本的兩邊添加額外的空格。
【XML名稱空間入門教程】相關(guān)文章:
梵語入門教程08-20
CSS入門教程01-25
XML認(rèn)證元素類型聲明05-28
新手油畫入門教程09-16
油畫自學(xué)入門教程02-23
紋繡入門教程06-25
關(guān)于IBM XML認(rèn)證考試的要點01-13
跆拳道入門教程08-08
PS動畫制作入門教程05-25