假如没有一种要领来辨别不运用的称号,就会形成杂沓。XML称号空间就是为了处置惩罚这个题目而设想的。经由过程XML称号空间,我们能够辨别来自差别的XML运用的具有相
XML称号空间示意XML称号的运用范围,由于XML可自定义元素标签,所以有差别XML运用间XML称号重名的机会是很大的。假如没有一种要领来辨别不运用的称号,就会形成杂沓。XML称号空间就是为了处置惩罚这个题目而设想的。经由过程XML称号空间,我们能够辨别来自差别的XML运用的具有雷同称号的元素和属性。能够将来自单一XML运用的相干元素和属性鸠合在一起,轻易软件辨认和处置惩罚。
称号空间由前缀和当地部份构成,中心用冒号分开。前缀标识元素或属性的地点称号空间,当地部份标识称号空间中的某个元素或属性。全部称号也称为限制称号(qualified name)。前缀能够用除XML(大小写恣意组合)三个字母外的任何正当的XML称号字符构成。每一个限制称号中的前缀都必须与唯一的一个URI关联。带有雷同URI关联的前缀的称号属于统一称号空间。
<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运用的元素和属性,而不是用来辨别具有雷同称号的差别元素,则可在DTD的元素中定义一个牢固的xmlns属性,而不须要文档中定义。定义要领以下:
<!ATTLIST svg xmlns CDATA #FIXED "http://www.w3.org/svg/">
在定义DTD时,须要运用称号空间前缀的在定义时也要把前缀写到DTD定义里,如:
<!ELEMENT xlink:name (#PCDATA)>
运用参数实体援用来定义称号空间前缀可轻易DTD文档的保护,整顿宣布!转载请说明出处,感谢!
<!ENTITY % prefix "xlink"> <!ENTITY % colon ":">
接着,应用该参数实体称号定义更多的参数实体援用,如:
<!ENTITY % xlink-title "%prefix;%colon;title"> <!ENTITY % xlink-author "%prefix;%colon;author">
如许,假如需变动前缀,只需修正一个处所就能够了,不必整篇文档修正。
<!ELEMENT %xlink-title; (#PCDATA)> <!ELEMENT %xlink-author; (#PCDATA)> 不能在ATTLIST和ELEMENT声明中直接运用%prefix;和%colon;, 由于在另一个实体的外部运用这些参数实体时,XML解析器会在实体替代文本的双方增加分外的空格。
以上就是XML入门教程-XML称号空间细致引见的细致内容,更多请关注ki4网别的相干文章!