Latest web development tutorials

Namespaces XML

XML Namespaces menyediakan metode untuk menghindari konflik nama elemen.


konflik penamaan

Dalam XML, nama elemen didefinisikan oleh pengembang, ketika dua dokumen yang berbeda menggunakan nama elemen yang sama, konflik penamaan akan terjadi.

XML ini membawa informasi tabel HTML:

<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>

XML ini membawa informasi tentang meja (furnitur):

<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>

Jika dua dokumen XML ini digunakan bersama-sama, karena kedua dokumen disertakan dengan isi yang berbeda dan definisi dari <table> elemen, konflik penamaan terjadi.

XML parser tidak dapat menentukan bagaimana menangani konflik tersebut.


Gunakan awalan untuk menghindari konflik penamaan

Konflik penamaan dalam XML dapat diperoleh dengan menggunakan awalan nama sehingga mudah dihindari.

XML ini membawa tabel HTML dan perabot di pesan:

<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>

<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

Dalam contoh di atas, tidak ada konflik karena dua <table> elemen memiliki nama yang berbeda.


XML namespace - xmlns atribut

Bila menggunakan prefiks dalam XML, yang disebutnamespace untuk awalan harus didefinisikan.

xmlns namespace atributdidefinisikan dalam tag awal dari elemen.

sintaks namespace deklarasi adalah sebagai berikut. xmlns:prefix= "URI".

<root>

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

<f:table xmlns:f="http://www.w3cschool.cc/furniture" >
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

</root>

Dalam contoh di atas, atribut xmlns <table> mendefinisikan h: namespace prefix berkualitas: dan f.

Ketika namespace didefinisikan dalam tag awal dari elemen, semua elemen anak dengan awalan yang sama dan berkaitan dengan namespace.

Namespace, Anda dapat mendeklarasikan atau mereka digunakan dalam elemen dalam elemen XML root:

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

<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>

<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

</root>

Catatan: namespace URI parser tidak akan digunakan untuk mencari informasi.

Tujuannya adalah untuk memberikan namespace nama yang unik. Namun, banyak perusahaan sering menggunakan namespace sebagai pointer untuk menunjuk ke keberadaan aktual halaman, halaman ini berisi informasi tentang namespace.

Kunjungi http://www.w3.org/TR/html4/ .


uniform resource identifier (URI, singkatan dari Uniform Resource Identifier)

Uniform Resource Identifier (URI) adalah string karakter yang dapat mengidentifikasi sumber daya Internet.

Yang paling umum URI adalahUniform Resource Locator digunakan untuk mengidentifikasi alamat domain internet (URL).Sebuah URI kurang umum adalahSumber Daya Nama Uniform (URN).

Dalam contoh kita, kita hanya menggunakan URL.


default namespace

Elemen mendefinisikan default namespace memungkinkan kita untuk menghilangkan awalan di semua sub-elemen dalam pekerjaan tersebut. Sintaks-nya adalah sebagai berikut:

xmlns="namespaceURI"

XML ini membawa informasi tabel HTML:

<table xmlns="http://www.w3.org/TR/html4/">
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>

XML ini membawa informasi tentang sepotong mebel:

<table xmlns="http://www.w3schools.com/furniture">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>


Realisasi penggunaan namespace

XSLT adalah proses untuk dokumen XML ke dalam format bahasa XML lainnya, seperti HTML.

Dalam dokumen XSLT bawah, Anda dapat melihat bahwa sebagian besar tag adalah tag HTML.

tag non-HTML memiliki xsl awalan, dan dengan demikian mengidentifikasi namespace: 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>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr>
<th align="left">Title</th>
<th align="left">Artist</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 belajar tentang XSLT, silakan kami halaman rumah untuk menemukan XSLT tutorial.