Latest web development tutorials

XSLT pada klien

Jika browser Anda mendukung XSLT, maka browser yang dapat digunakan untuk mengkonversi dokumen ke XHTML.


solusi JavaScript

Dalam bab sebelumnya, kita telah diajarkan cara menggunakan XSLT untuk mengubah dokumen XML menjadi XHTML. Kami melakukan ini melalui cara berikut: Ditambahkan XSL stylesheet ke file XML, dan menyelesaikan konversi melalui browser.

Bahkan jika efek dari metode ini adalah sangat baik, referensi style sheet tidak selalu memuaskan (misalnya, dalam browser XSLT tidak mengakui pendekatan ini tidak akan bekerja) termasuk dalam file XML.

Pendekatan yang lebih umum adalah dengan menggunakan JavaScript untuk menyelesaikan konversi.

Dengan menggunakan JavaScript, kita dapat:

  • Browser untuk tes konfirmasi
  • Tergantung pada browser dan kebutuhan pengguna untuk menggunakan stylesheet yang berbeda

Ini adalah pesona XSLT! XSLT adalah salah satu yang dirancang untuk membuat data dari satu format ke format lain mungkin dan mendukung berbagai jenis browser dan kebutuhan pengguna yang berbeda.

Klien XSLT transformasi akan menjadi masa depan salah satu tugas utama yang dilakukan oleh browser, dan kita akan melihat pertumbuhan (Braille, browser aural, printer jaringan, perangkat genggam, dll) di pasar browser tertentu.


dokumen XML dan file XSL

Lihatlah ini di bagian sebelumnya telah menunjukkan off dokumen XML:

<?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 file XML .

Dan menemani style sheet 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 .

Harap dicatat, file XML tidak berisi referensi ke file XSL.

PENTING: Kalimat di atas berarti, file XML dapat menggunakan beberapa stylesheet XSL yang berbeda untuk mengkonversi.


Dalam browser mengkonversi XML ke XHTML

Ini adalah untuk klien untuk file XML ke kode sumber XHTML:

contoh

<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" />
</body>
</html>

Coba »

Tip: Jika Anda tidak tahu bagaimana menulis JavaScript, silahkan belajar kami tutorial JavaScript .

Contoh menjelaskan:

loadXMLDoc () function

loadXMLDoc () adalah fungsi yang digunakan untuk memuat XML dan XSL file.

Ia memeriksa jenis browser dan pengguna harus memuat file.

displayResult () function

Fungsi ini digunakan untuk mendefinisikan file XML gaya tampilan menggunakan file XSL.

  • Memuat XML dan XSL file
  • pengguna tes memiliki jenis browser
  • Jika dukungan browser ActiveX objek pengguna:
    • Gunakan transformNode () metode stylesheet XSL untuk dokumen XML
    • Mengatur dokumen saat (id = "contoh") berisi gaya tubuh telah diterapkan dokumen XML
  • Jika browser pengguna tidak mendukung ActiveX benda:
    • Membuat objek dan impor XSL baru file XSLTProcessor
    • Gunakan transformToFragment () metode stylesheet XSL untuk dokumen XML
    • Mengatur dokumen saat (id = "contoh") berisi gaya tubuh telah diterapkan dokumen XML