XSL Transformations
Ekstensi berkas.xsl, .xslt
Jenis MIMEapplication/xslt+xml[1]
Dikembangkan
oleh
World Wide Web Consortium
Jenis formatStylesheet language
Pengembangan dariXML
Standar1.0 (Recommendation),
2.0 (Recommendation)
Diagram of the basic elements and process flow of Extensible Stylesheet Language Transformations

Extensible Stylesheet Language Transformations, disingkat XSLT, adalah bahasa pemrograman berdasar XML yang digunakan untuk transformasi dokumen XML menjadi dokumen XML atau format lainnya. Transformasi tidak mengubah dokumen asli, melainkan menghasilkan dokumen baru berdasarkan isi dokumen asli.[2] XSLT sering digunakan untuk mengkonversi data dari satu XML schema ke schema lain, ke format XHTML, atau format XML yang dapat diubah menjadi dokumen PDF.

Sebagai bahasa pemrograman, XSLT dipengaruhi oleh bahasa pemrograman fungsional.[3] Pendahulunya adalah DSSSL, bahasa pemrograman yang mentransformasi SGML seperti XSLT mentransformasi XML. XSLT juga dapat dianggap sebagai sebuah template processor. XSLT adalah Turing complete.[4][5][6]

Sejarah

sunting

XSLT dikembangkan oleh World Wide Web Consortium (W3C). Versi terbarunya adalah XSLT 2.0, yang mencapai status W3C recommendation pada 23 Januari 2007. Asalnya, XSLT adalah bagian dari W3C's Extensible Stylesheet Language (XSL), proyek yang juga menghasilkan XSL Formatting Objects dan XPath. Penyunting versi pertama adalah James Clark. Setelah usaha untuk menghasilkan versi 1.1 dibatalkan pada 2001, kelompok kerja XSL bergabung dengan kelompok kerja XQuery untuk menghasilkan XPath 2.0. XSLT 2.0, dikembangkan di bawah pimpinan Michael Kay, dikembangkan dari sini.

Penjelasan

sunting

XSLT processing model melibatkan:

  • satu atau lebih dokumen XML sumber
  • satu atau lebih modul stylesheet XSLT
  • XSLT template processing engine (processor)
  • satu atau lebih dokumen hasil

XSLT dan XQuery

sunting

Kemampuan XSLT bertumpang tindih dengan XQuery, yang mulanya dikembangkan sebagai bahasa query untuk sekelompok dokumen XML. XSLT 2.0 dan XQuery 1.0 dikembangkan oleh kelompok kerja yang terpisah dalam W3C, tetapi bekerja sama untuk menjamin standar yang sama. XSLT dikembangkan sebagai bahasa stylesheet yang tugasnya mentransformasi XML menjadi dokumen yang dapat dibaca manusia. XQuery dikembangkan sebagai database query language seperti SQL.

Contoh XSLT

sunting

Contoh dokumen XML sumber

<?xml version="1.0" ?>
<persons>
  <person username="JS1">
    <name>John</name>
    <family-name>Smith</family-name>
  </person>
  <person username="MI1">
    <name>Morka</name>
    <family-name>Ismincius</family-name>
  </person>
</persons>

Contoh 1 (transformasi XML ke XML)

sunting

Lembar gaya XSLT ini provides templates untuk transformasi dokumen XML:

<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>

<xsl:template match="/persons">
       <root> <xsl:apply-templates select="person"/> </root>
</xsl:template>

<xsl:template match="person">
	<name username="{@username}">
 <xsl:value-of select="name" />
	</name>
</xsl:template>

</xsl:stylesheet>

Its evaluation results in a new XML document, having another structure:

<?xml version="1.0" encoding="UTF-8"?>
<root>
      <name username="JS1">John</name>
      <name username="MI1">Morka</name>
</root>

Contoh 2 (transformasi XML ke XHTML)

sunting

Conntoh Lembar gaya XSLT:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
 version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns="http://www.w3.org/1999/xhtml">

<xsl:output method="html"/>

<xsl:template match="/persons">
	<html>
	<head> <title>Testing XML Example</title> </head>
	<body>
		<h1>Persons</h1>
		<ul>
		<xsl:apply-templates select="person">
			<xsl:sort select="family-name" />
		</xsl:apply-templates>
		</ul>
	</body>
	</html>
</xsl:template>

<xsl:template match="person">
	<li>
		<xsl:value-of select="family-name"/><xsl:text>, </xsl:text>
		<xsl:value-of select="name"/>
	</li>
</xsl:template>

</xsl:stylesheet>

XHTML output that this would produce (whitespace has been adjusted here for clarity):

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <title>Testing XML Example</title> </head>
<body>
	<h1>Persons</h1>
	<ul>
	   <li>Ismincius, Morka</li>
	   <li>Smith, John</li>
	</ul>
</body>
</html>
 



How the XHTML appears when rendered in a web browser.

Rujukan

sunting
  1. ^ "XSL Transformations (XSLT) Version 2.0". Diarsipkan dari asli tanggal 2006-06-13. Diakses tanggal 2008-06-12.
  2. ^ "XSL Transformations (XSLT)". Diarsipkan dari asli tanggal 2017-08-13. Diakses tanggal 2008-06-12.
  3. ^ Dimitre Novatchev. "Higher-Order Functional Programming with XSLT 2.0 and FXSL". ExtremeMarkupLanguages. Diarsipkan dari asli tanggal 2008-07-05. Diakses tanggal 2008-06-12. ; ;
  4. ^ Kepser, Stephan. (2004).
  5. ^ A Simple Proof for the Turing-Completeness of XSLT and XQuery Diarsipkan 2007-09-27 di Wayback Machine.. International Digital Enterprise Alliance.
  6. ^ "Universal Turing Machine in XSLT". Diarsipkan dari asli tanggal 2019-01-09. Diakses tanggal 2008-06-12.

Pranala luar

sunting

📚 Artikel Terkait di Wikipedia

Nmap

pemindaian untuk memfasilitasi pemantauan. XML Sebuah format yang dapat diproses lebih lanjut dengan alat XML. Itu dapat dikonversi menjadi sebuah laporan

Sistem pola acu web

dapat dilindungi hak cipta, sehingga kendali jarang bersifat mutlak. "Template engine". phpwact.org wiki. Diarsipkan dari asli tanggal December 4, 2012.

WordPress

dapat berkreasi membuat template sendiri. Pengguna yang tidak mengerti HTML, tentu saja masih dapat memilih ribuan template yang tersedia di internet

Mojolicious

Mojolicious::Lite Mendukung REST, plugin, Template Engine dengan fitur Embedded Perl (dan juga bisa Template Engine Mason dan Template Toolkit), Session, Cookie yang

MuseScore

sebuah inisiatif untuk membuat musik domain publik versi MuseScore dan MusicXML dari perpustakaan IMSLP. Galat: Tidak ada teks yang diberikan untuk kutipan

Android Studio

masalah lainnya Integrasi Proguard dan kemampuan penanda tanganan aplikasi Template-based wizards untuk membuat desain templat umum seperti drawer atau empty

Microsoft Visual Studio Express

mobile (tidak ada template atau emulator) Tidak ada Crystal Reports Lebih sedikit proyek template (misalnya Windows jasa template, template Excel Workbook)

Sejarah bahasa pemrograman

terbaru yang diusulkan oleh Charles Babbage: Mesin Analitikal (Analytical Engine); ia melengkapi memoar tersebut dengan catatan yang merinci metode penghitungan