XSLT - Pada Server

Karena bukan semua peramban mendukung XSLT, solusi lain adalah melengkapkan konversi XML ke XHTML di server.

Solusi Multi-Peramban

Pada bab sebelumnya, kami membahas bagaimana menggunakan XSLT untuk melakukan konversi XML ke XHTML di peramban. Kita membuat script JavaScript untuk melakukan konversi menggunakan parser XML. Solusi JavaScript ini tidak bekerja di peramban tanpa parser XML. agar data XML dapat digunakan di semua jenis peramban, kita harus melakukan konversi dokumen XML di server dan mengirimkannya ke peramban sebagai XHMTL.

Ini adalah kelebihan lain dari XSLT. Salah satu tujuan desain XSLT adalah untuk memungkinkan data di server untuk berubah format dari satu ke yang lain, dan mengembalikan data yang dapat dibaca untuk semua jenis peramban.

Berkas XML dan Berkas XSL

Lihat dokumen XML yang telah dipresentasikan di bab sebelumnya:

<?xml version="1.0" encoding="ISO-8859-1"?>
<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>

Lihat berkas XML ini.

dan gaya XSL yang disertai:

<?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>Koleksi CD Saya</h2> 
    <table border="1">
      <tr bgcolor="#9acd32">
        <th align="left">Judul</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>

Lihat berkas XSL ini.

Perhatikan, berkas XML ini tidak mengandung referensi ke berkas XSL.

Perhatian penting:Kalimat di atas menunjukkan bahwa berkas XML dapat diubah ke berbagai macam gaya XSL untuk konversi.

Pemecahan XML ke XHTML di server

Ini adalah kode sumber untuk mengkonversi berkas XML ke XHTML di server:

<%
'Load XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("cdcatalog.xml"))
'Load XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("cdcatalog.xsl"))
'Transform file
Response.Write(xml.transformNode(xsl))
%>

Petunjuk:Jika Anda tidak mengerti bagaimana menulis ASP, Anda dapat belajar dari <Panduan ASP》。

Kode pertama menciptakan instance parser XML Microsoft, lalu memuat berkas XML ke memori. Kode kedua menciptakan instance parser lain, lalu memuat berkas XSL ke memori. Baris terakhir menggunakan dokumen XSL untuk mengkonversi dokumen XML, dan mengirimkan hasil sebagai XHTML ke browser Anda. Tugas selesai!

Lihat bagaimana ia bekerja.