XSLT - Klien
- Halaman Sebelumnya XSLT apply
- Halaman Berikutnya XSLT di Server-side
Jika pelayar Anda mendukung XSLT, maka di dalam pelayar ini dapat digunakan untuk mengkonversi dokumen ke XHTML.
Lösung JavaScript
Di bab sebelumnya, kami telah menjelaskan bagaimana menggunakan XSLT untuk mengkonversi dokumen XML ke XHTML. Kami menyelesaikan pekerjaan ini dengan cara menambahkan gaya XSL ke file XML dan melaksanakan pertukaran melalui pelayar.
Walaupun metode ini berkesan baik, menempatkan referensi gaya di dalam file XML tidak selalu memuaskan (contohnya, metode ini tidak akan berfungsi di pelayar yang tidak mengenali XSLT).
Metode yang lebih umum adalah menggunakan JavaScript untuk menyelesaikan pertukaran.
Dengan menggunakan JavaScript, kami dapat:
- Melakukan pengesahan tes pelayar
- Gunakan gaya laporan yang berbeda berdasarkan kebutuhan pelayar dan pengguna
Ini adalah keindahan XSLT! Salah satu tujuan desain XSLT adalah untuk memungkinkan pertukaran format dari satu format ke format lain, serta mendukung berbagai jenis pelayar dan kebutuhan pengguna.
Pertukaran XSLT di sisi pelayar pasti akan menjadi salah satu tugas utama yang dijalankan oleh pelayar masa mendatang, serta kita akan melihat pertumbuhannya di pasar pelayar khusus (bacaan buta, pemroses cetak jaringan, peralatan auditif, dll).
Fail XML dan Fail XSL
Lihat dokumen XML ini 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 gaya 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>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 perhatian, fail XML ini tidak mengandungi rujukan kepada fail XSL.
Pertimbangan Penting:Perhimpunan kata ini bermaksud bahawa fail XML boleh diubahsuai dengan berbagai-bagai gaya XSL untuk penukaran.
Tukar XML kepada XHTML di dalam pelayar
Ini adalah kod sumber untuk mengubah fail XML kepada XHTML di penggunaan klien:
<html> <body> <script type="text/javascript"> // Load XML var xml = new ActiveXObject("Microsoft.XMLDOM") xml.async = false xml.load("cdcatalog.xml") // Load XSL var xsl = new ActiveXObject("Microsoft.XMLDOM") xsl.async = false xsl.load("cdcatalog.xsl") // Transform document.write(xml.transformNode(xsl)) </script> </body> </html>
Petunjuk:Jika Anda belum mengerti bagaimana menulis JavaScript, belajar dari kami diPanduan JavaScript》。
Kode pertama menciptakan seorang parser XML Microsoft dan memuat berkas XML ke ingatan. Kode kedua menciptakan parser lain dan memuat berkas XSL ke ingatan. Baris terakhir menggunakan dokumen XSL untuk mengkonversi dokumen XML dan menampilkan hasilnya sebagai XHTML di browser. Tugas selesai!
- Halaman Sebelumnya XSLT apply
- Halaman Berikutnya XSLT di Server-side