XSLT - Pada Server
- Halaman Sebelumnya XSLT di Klien
- Halaman Berikutnya Edit XML dengan XSLT
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>
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>
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!
- Halaman Sebelumnya XSLT di Klien
- Halaman Berikutnya Edit XML dengan XSLT