Manual teknikal...login
Manual teknikal XML
pengarang:php.cn  masa kemas kini:2022-04-14 15:57:53

Ruang nama XML



Ruang nama XML menyediakan cara untuk mengelakkan konflik penamaan unsur.


Konflik Penamaan

Dalam XML, nama elemen ditakrifkan oleh pembangun Konflik penamaan berlaku apabila dua dokumen berbeza menggunakan nama elemen yang sama.

XML ini membawa maklumat jadual HTML:

<jadual>
, <tr>
' <td>Epal</td>
' <td>Pisang</td>
, </tr>
</table>

Dokumen XML ini membawa maklumat tentang meja (sekeping perabot):

<meja>
, <nama>Meja Kopi Afrika</nama>
, <lebar>80</lebar>
, <length>120</length>
</table>

Jika kedua-dua dokumen XML ini digunakan bersama, kerana kedua-dua dokumen mengandungi < dengan kandungan dan takrifan ;elemen ;jadual> konflik penamaan akan berlaku.

Penghurai XML tidak dapat menentukan cara mengendalikan konflik jenis ini.


Gunakan awalan untuk mengelakkan konflik penamaan

Konflik penamaan dalam XML boleh dielakkan dengan mudah dengan menggunakan awalan nama.

XML ini membawa maklumat tentang jadual HTML dan perabot:

<h:table>
, <h:tr>
' <h:td>Epal</h:td>
' <h:td>Pisang</h:td>
, </h:tr>
</h:table>

<f:table>
<f:name>Meja Kopi Afrika</f:name>
<f:width>80</f:width>
<f:panjang>120</f:panjang>
</f:meja>

Dalam contoh di atas, tidak akan ada konflik kerana kedua-dua <jadual> mempunyai nama yang berbeza.


Ruang nama XML - atribut xmlns

Apabila menggunakan awalan dalam XML, apa yang dipanggil ruang nama untuk awalan mesti ditakrifkan. Ruang nama

ditakrifkan dalam atribut xmlns teg pembukaan elemen.

Sintaks untuk pengisytiharan ruang nama adalah seperti berikut. xmlns:Awalan="URI".

<root>

<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Epal</h:td>
<h:td>Pisang</h:td>
</h:tr>
</h:table>

<f:table xmlns:f="http://www.w3cschool.cc/furniture">
<f:name>Meja Kopi Afrika</f:name>
<f:width>80</f:width>
<f:panjang>120</f:panjang>
</f:table>

</root>

Dalam contoh di atas, atribut xmlns bagi teg <table> mentakrifkan ruang nama yang layak untuk awalan h: dan f:.

Apabila ruang nama ditakrifkan dalam teg pembukaan elemen, semua elemen anak dengan awalan yang sama akan dikaitkan dengan ruang nama yang sama.

ruang nama boleh diisytiharkan dalam elemen di mana ia digunakan atau dalam elemen akar XML:

<root xmlns:h="http://www .w3.org/TR/html4/"
xmlns:f="http://www.w3cschool.cc/furniture"
>

<h:meja>
<h:tr>
<h:td>Epal</h:td>
<h:td>Pisang</h:td>
</h:tr>
</h:table>

<f:table>
<f:name>Meja Kopi Afrika</f:name>
<f:width>80</f:width>
<f:panjang>120</f:panjang>
</f:table>

</root>

Nota: URI ruang nama tidak digunakan oleh penghurai untuk mencari maklumat.

Tujuannya adalah untuk memberikan ruang nama nama yang unik. Walau bagaimanapun, banyak syarikat sering menggunakan ruang nama sebagai penunjuk kepada halaman web sedia ada sebenar yang mengandungi maklumat tentang ruang nama.

Sila lawati http://www.w3.org/TR/html4/.


Uniform Resource Identifier (URI, nama penuh: Uniform Resource Identifier) ​​​​

Uniform Resource Identifier (URI) ialah rentetan aksara yang boleh mengenal pasti sumber Internet.

URI yang paling biasa digunakan ialah Uniform Resource Locator (URL) yang digunakan untuk mengenal pasti alamat domain Internet. Satu lagi URI yang kurang biasa digunakan ialah Nama Sumber Seragam (URN).

Dalam contoh kami, kami hanya menggunakan URL.


Ruang nama lalai

Mentakrifkan ruang nama lalai untuk elemen menjimatkan kerja kami menggunakan awalan pada semua elemen anak. Sintaksnya adalah seperti berikut:

xmlns="namespaceURI"

XML ini membawa maklumat jadual HTML:

<table xmlns="http://www.w3.org/TR/html4/">
, <tr>
' <td>Epal</td>
' <td>Pisang</td>
, </tr>
</table>

XML ini membawa maklumat tentang sekeping perabot:

<table xmlns="http://www.w3schools.com/furniture ">
, <nama>Meja Kopi Afrika</nama>
, <lebar>80</lebar>
, <panjang>120</length>
</meja>


Ruang nama yang digunakan

XSLT ialah bahasa XML yang digunakan untuk mengubah dokumen XML kepada format lain, seperti HTML.

Dalam dokumen XSLT di bawah, anda dapat melihat bahawa kebanyakan teg adalah teg HTML.

Teg bukan HTML diawali dengan xsl dan dikenal pasti melalui ruang nama ini: xmlns:xsl="http://www.w3.org/1999/XSL/Transform":

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<badan>
<h2>Koleksi CD Saya</h2>
<table border="1">
<tr>
                                                      <th align="left">Tajuk</th>
                                                                  <th align="left">Artis</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>

Jika anda ingin mengetahui tentang XSLT, cari tutorial XSLT di halaman utama kami.


Laman web PHP Cina