XSLT - Pada Server

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

Solusi Berlapis Pelayar

Di bab sebelumnya, kami menjelaskan bagaimana menggunakan XSLT untuk melakukan transmisi XML ke XHTML di pelayar. Kita membuat script JavaScript untuk transmisi menggunakan parser XML. Solusi JavaScript ini tidak bekerja di pelayar tanpa parser XML. supaya data XML dapat digunakan di semua jenis pelayar, kita harus melakukan transmisi dokumen XML di server, lalu kirimkannya sebagai XHMTL ke pelayar.

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

Fail XML dan Fail XSL

Lihat dokumen XML yang telah ditunjukkan 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 fail XML ini.

dan stylesheet XSL yang disertakan:

<?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>Collection 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 fail XSL ini.

Perhatian, fail XML ini tidak mengandungi rujukan kepada fail XSL.

Pertimbangan penting:Perkataan di atas menunjukkan bahawa fail XML boleh digunakan dengan pelbagai stylesheet XSL untuk penukaran.

Penukaran XML kepada XHTML di pelayan

Ini adalah kod sumber untuk mengubah fail XML kepada XHTML di pelayan:

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

Petikan:Jika anda tidak mengerti bagaimana menulis ASP, anda boleh belajar buku kami,Panduan ASP》。

Kode pertama mencipta satu instance pemecah XML Microsoft, kemudian memuat fail XML ke ingatan. Kode kedua mencipta satu instance pemecah lain, kemudian memuat fail XSL ke ingatan. Baris terakhir menggunakan dokumen XSL untuk mengubah dokumen XML, dan mengirimkan hasil sebagai XHTML ke pem/lihat anda. Tugas selesai!

Lihat bagaimana ia bekerja.