Rumah pembangunan bahagian belakang Tutorial XML/RSS XML入门教程-XML名称空间详细介绍

XML入门教程-XML名称空间详细介绍

Mar 15, 2017 pm 04:54 PM

XML名称空间表示XML名称的使用范围,因为XML可自定义元素标签,所以有不同XML应用间XML名称重名的机会是很大的。

如果没有一种方法来区分不应用的名称,就会造成混乱。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>
Salin selepas log masuk

前缀一般在使用该前缀的最上层元素中定义。在下层元素中也可定义不同的前缀:

<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>
Salin selepas log masuk

通过将无前缀的xmlns属性附加到根元素中,可以指定不带前缀的元素及所有不带前缀的子元素属于某个名称空间。

<svg xmlns="http://www.w3.org/2000/svg"> 
<ellipse rx="110" ry="130" /> 
<rect x="4cm" y="1cm" /> 
</svg>
Salin selepas log masuk

如果名称空间只用来识别来自某种XML应用的元素和属性,而不是用来区分具有相同名称的不同元素,则可在DTD的元素中定义一个固定的xmlns属性,而不需要文档中定义。定义方法如下:

<!ATTLIST svg xmlns CDATA #FIXED "http://www.w3.org/svg/">
Salin selepas log masuk


在定义DTD时,需要使用名称空间前缀的在定义时也要把前缀写到DTD定义里,如:

<!ELEMENT xlink:name (#PCDATA)>
Salin selepas log masuk


使用参数实体引用来定义名称空间前缀可方便DTD文档的维护,整理发布!转载请注明出处,谢谢!

<!ENTITY % prefix "xlink"> <!ENTITY % colon ":">
Salin selepas log masuk


接着,利用该参数实体名称定义更多的参数实体引用,如:

<!ENTITY % xlink-title "%prefix;%colon;title"> <!ENTITY % xlink-author "%prefix;%colon;author">
Salin selepas log masuk


这样,如果需更改前缀,只需修改一个地方就可以了,不用整篇文档修改。

<!ELEMENT %xlink-title; (#PCDATA)> 
<!ELEMENT %xlink-author; (#PCDATA)> 
不能在ATTLIST和ELEMENT声明中直接使用%prefix;和%colon;,
因为在另一个实体的外部使用这些参数实体时,XML解析器会在实体替换文本的两边添加额外的空格。
Salin selepas log masuk

Atas ialah kandungan terperinci XML入门教程-XML名称空间详细介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bolehkah saya membuka fail XML menggunakan PowerPoint? Bolehkah saya membuka fail XML menggunakan PowerPoint? Feb 19, 2024 pm 09:06 PM

Bolehkah saya membuka fail XML menggunakan PowerPoint?

Menapis dan menyusun data XML menggunakan Python Menapis dan menyusun data XML menggunakan Python Aug 07, 2023 pm 04:17 PM

Menapis dan menyusun data XML menggunakan Python

Tukar data XML kepada format CSV dalam Python Tukar data XML kepada format CSV dalam Python Aug 11, 2023 pm 07:41 PM

Tukar data XML kepada format CSV dalam Python

Python melaksanakan penukaran antara XML dan JSON Python melaksanakan penukaran antara XML dan JSON Aug 07, 2023 pm 07:10 PM

Python melaksanakan penukaran antara XML dan JSON

Menggunakan Python untuk menggabungkan dan menyahduplikasi data XML Menggunakan Python untuk menggabungkan dan menyahduplikasi data XML Aug 07, 2023 am 11:33 AM

Menggunakan Python untuk menggabungkan dan menyahduplikasi data XML

Mengendalikan ralat dan pengecualian dalam XML menggunakan Python Mengendalikan ralat dan pengecualian dalam XML menggunakan Python Aug 08, 2023 pm 12:25 PM

Mengendalikan ralat dan pengecualian dalam XML menggunakan Python

Import data XML ke dalam pangkalan data menggunakan PHP Import data XML ke dalam pangkalan data menggunakan PHP Aug 07, 2023 am 09:58 AM

Import data XML ke dalam pangkalan data menggunakan PHP

Gunakan PHP dan XML untuk memproses dan memaparkan geolokasi dan data peta Gunakan PHP dan XML untuk memproses dan memaparkan geolokasi dan data peta Aug 01, 2023 am 08:37 AM

Gunakan PHP dan XML untuk memproses dan memaparkan geolokasi dan data peta

See all articles