Pelanggan XSLT
Jika penyemak imbas anda menyokong XSLT, ia boleh digunakan dalam penyemak imbas untuk menukar dokumen kepada XHTML.
JavaScript Solution
Dalam bab sebelumnya, kami telah menerangkan kepada anda cara menggunakan XSLT untuk menukar dokumen XML kepada XHTML. Kami mencapai ini dengan menambahkan lembaran gaya XSL pada fail XML dan melengkapkan transformasi melalui penyemak imbas.Walaupun pendekatan ini berfungsi dengan baik, termasuk rujukan lembaran gaya dalam fail XML tidak selalu memuaskan (contohnya, pendekatan ini tidak akan berfungsi dalam penyemak imbas yang tidak memahami XSLT).
Pendekatan yang lebih umum ialah menggunakan JavaScript untuk melengkapkan penukaran.
Dengan menggunakan JavaScript kami boleh:
Melakukan ujian pengesahan penyemak imbas
Gunakan mengikut pelayar dan keperluan pengguna Helaian gaya yang berbeza
Inilah daya tarikan XSLT! Salah satu matlamat reka bentuk XSLT adalah untuk membolehkan anda menukar data daripada satu format ke format lain, sambil menyokong pelbagai jenis penyemak imbas dan keperluan pengguna yang berbeza.
Transformasi XSLT sebelah pelanggan pasti akan menjadi salah satu tugas utama yang dilakukan oleh penyemak imbas pada masa hadapan, dan kami juga akan melihat pertumbuhannya dalam pasaran penyemak imbas tertentu (braille, pelayar auditori, pencetak rangkaian, peralatan pegang tangan, dll. .).
Fail XML dan fail XSL
Sila lihat dokumen XML ini yang ditunjukkan dalam bab sebelumnya:
<catalog>
, <cd>
' <title>Empire Burlesque</title>
' <artis>Bob Dylan</artis>
' <country>AS</country>
' <syarikat>Columbia</syarikat>
' <harga>10.90</harga>
' <tahun>1985</tahun>
, </cd>
.
.
</catalog>
查看 XML 文件。
以及附随的 XSL 样式表:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template padankan="/">
<html>
<badan>
<h2>Koleksi CD Saya</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th align="left">Tajuk</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>
查看 XSL 文件。
> XML ML 文件可使用多个不同的 XSL 样式表来进行转换。
在浏览器中把 XML 转换为 XHTML
这是用于在客我用 于在客抬 于在客抢源代码:实例
<html> <head> <script> function loadXMLDoc(dname) { if (window.ActiveXObject) { xhttp=new ActiveXObject("Msxml2.XMLHTTP.3.0"); } else { xhttp=new XMLHttpRequest(); } xhttp.open("GET",dname,false); xhttp.send(""); return xhttp.responseXML; } function displayResult() { xml=loadXMLDoc("cdcatalog.xml"); xsl=loadXMLDoc("cdcatalog.xsl"); // code for IE if (window.ActiveXObject) { ex=xml.transformNode(xsl); document.getElementById("example").innerHTML=ex; } // code for Mozilla, Firefox, Opera, etc. else if (document.implementation && document.implementation.createDocument) { xsltProcessor=new XSLTProcessor(); xsltProcessor.importStylesheet(xsl); resultDocument = xsltProcessor.transformToFragment(xml,document); document.getElementById("example").appendChild(resultDocument); } } </script> </head> <body onload="displayResult()"> <div id="example"></div> </body> </html>
运行 实例 »
Petua: Jika anda tidak tahu cara menulis JavaScript, ikuti tutorial JavaScript kami.
Penjelasan contoh:
fungsi loadXMLDoc()
fungsi loadXMLDoc() digunakan untuk memuatkan fail XML dan XSL.
Ia menyemak jenis penyemak imbas yang pengguna miliki dan jenis penyemak imbas yang mana fail dimuatkan.
fungsi displayResult()
Fungsi ini digunakan untuk memaparkan fail XML menggunakan fail XSL untuk menentukan gaya.
Muat fail XML dan XSL
Uji jenis penyemak imbas yang dimiliki pengguna Penyemak imbas menyokong objek ActiveX:
- Gunakan kaedah transformNode() untuk menggunakan helaian gaya XSL pada dokumen XML
Tetapkan dokumen semasa ( id="example") mengandungi XML dokumen dengan gaya digunakan
- Jika penyemak imbas pengguna tidak menyokong objek ActiveX:
- Buat objek XSLTPProcessor baharu dan import fail XSL
Gunakan kaedah transformToFragment() untuk menggunakan lembaran gaya XSL pada dokumen XML
Tetapkan badan dokumen semasa (id="example") untuk mengandungi dokumen XML dengan gaya yang digunakan