XSLT - Transformasi
Contoh studi: Bagaimana mengubah XML menjadi XHTML menggunakan XSLT?
Detail dari contoh ini akan dijelaskan pada bab berikutnya.
Pernyataan Lembar Gaya yang Benar
Elemen root yang menyatakan dokumen sebagai lembar gaya XSL adalah <xsl:stylesheet> atau <xsl:transform>.
Catatan: <xsl:stylesheet> dan <xsl:transform> benar-benar sinonim dan keduanya dapat digunakan!
Cara yang benar untuk mendeklarasikan lembar gaya XSL menurut Rekomendasi W3C XSLT adalah:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
atau:
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Untuk mendapatkan akses ke elemen, atribut, dan fitur XSLT, kita harus mendeklarasikan namespace XSLT di bagian atas dokumen.
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" menunjuk ke namespace resmi W3C XSLT. Jika Anda menggunakan namespace ini, Anda juga harus menyertakan atribut version="1.0".
Mulai dengan Dokumen XML Mentah
Kami ingin mengubah dokumen XML berikut ("cdcatalog.xml") menjadi XHTML:
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
.
.
</catalog>
Melihat File XML di IE, Chrome, Firefox, Safari, dan Opera: Buka file XML (klik tautan di bawah) - Dokumen XML akan ditampilkan dengan elemen root dan anak berkode warna (kecuali di Safari). Seringkali, ada tanda plus (+) atau minus (-) di sebelah kiri elemen yang dapat diklik untuk memperluas atau menciutkan struktur elemen. Tip: Untuk melihat sumber XML mentah, klik kanan pada file XML dan pilih "Lihat Sumber"!
Buat Lembar Gaya XSL
Kemudian Anda membuat Lembar Gaya XSL ("cdcatalog.xsl") dengan templat transformasi:
<?xml version="1.0" encoding="UTF-8"?>
<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 bgcolor="#9acd32">
<th>Title</th>
<th>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>
Tautkan Lembar Gaya XSL ke Dokumen XML
Tambahkan referensi lembar gaya XSL ke dokumen XML Anda ("cdcatalog.xml"):
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
.
.
</catalog>
Jika Anda memiliki browser yang sesuai dengan XSLT, itu akan mengubah XML Anda menjadi XHTML dengan baik.
Detail dari contoh di atas akan dijelaskan pada bab-bab selanjutnya.