XSLT di Server

Karena bukan semua browser mendukung XSLT, solusi lainnya adalah melaksanakan konversi XML ke XHTML di server.

Solusi Berlapis Browser

Di bab sebelumnya, kami menjelaskan bagaimana menggunakan XSLT untuk melaksanakan konversi XML ke XHTML di browser. Kami membuat kode JavaScript untuk konversi menggunakan parser XML. Solusi JavaScript ini tidak bekerja di browser tanpa parser XML. Untuk membuat data XML dapat digunakan di semua tipe browser, kita harus mengkonversi dokumen XML di server, dan kemudian kirimkannya sebagai XHMTL ke browser.

Ini adalah keunggulan lainnya 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 bagi semua tipe browser.

Berkas XML dan Berkas XSL

Lihat dokumen XML ini yang telah dijelaskan 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 berikutnya adalah gaya XSL:

<?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 bgcolor="#9acd32">
        <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>

Lihat berkas XSL ini.

Perhatikan bahwa berkas XML ini tidak termasuk 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

Berikut 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))
%>

Pemberitahuan:Jika Anda tidak mengerti bagaimana menulis ASP, Anda dapat belajar dari kami diASP Tutorial

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

Lihat bagaimana ia bekerja.