Artikel ini perlu diterjemahkan dari bahasa Inggris ke bahasa Indonesia. Artikel ini ditulis atau diterjemahkan secara buruk dari Wikipedia bahasa Inggris. Jika halaman ini ditujukan untuk komunitas bahasa Inggris, halaman itu harus dikontribusikan ke Wikipedia bahasa Inggris. Lihat daftar bahasa Wikipedia. Artikel yang sama sekali tidak diterjemahkan dapat dihapus secara cepat sesuai kriteria A2. Jika Anda ingin memeriksa artikel ini, Anda boleh menggunakan mesin penerjemah. Namun ingat, mohon tidak menyalin hasil terjemahan tersebut ke artikel, karena umumnya merupakan terjemahan berkualitas rendah. |
| Ekstensi berkas | .xsl, .xslt |
|---|---|
| Jenis MIME | application/xslt+xml[1] |
| Dikembangkan oleh | World Wide Web Consortium |
| Jenis format | Stylesheet language |
| Pengembangan dari | XML |
| Standar | 1.0 (Recommendation), 2.0 (Recommendation) |

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
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
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
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
Contoh dokumen XML sumber
<?xml version="1.0" ?> <persons> <personusername="JS1"> <name>John</name> <family-name>Smith</family-name> </person> <personusername="MI1"> <name>Morka</name> <family-name>Ismincius</family-name> </person> </persons>
Contoh 1 (transformasi XML ke XML)
Lembar gaya XSLT ini provides templates untuk transformasi dokumen XML:
<?xml version="1.0" ?> <xsl:stylesheetxmlns:xsl="http://www.w3.org/1999/XSL/Transform"version="1.0"> <xsl:outputmethod="xml"indent="yes"/> <xsl:templatematch="/persons"> <root><xsl:apply-templatesselect="person"/></root> </xsl:template> <xsl:templatematch="person"> <nameusername="{@username}"> <xsl:value-ofselect="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> <nameusername="JS1">John</name> <nameusername="MI1">Morka</name> </root>
Contoh 2 (transformasi XML ke XHTML)
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:outputmethod="html"/> <xsl:templatematch="/persons"> <html> <head><title>TestingXMLExample</title></head> <body> <h1>Persons</h1> <ul> <xsl:apply-templatesselect="person"> <xsl:sortselect="family-name"/> </xsl:apply-templates> </ul> </body> </html> </xsl:template> <xsl:templatematch="person"> <li> <xsl:value-ofselect="family-name"/><xsl:text>,</xsl:text> <xsl:value-ofselect="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"?> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head><title>TestingXMLExample</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
- ↑ "XSL Transformations (XSLT) Version 2.0". Diarsipkan dari versi aslinya tanggal 2006-06-13. Diakses tanggal 2008-06-12.
- ↑ "XSL Transformations (XSLT)". Diarsipkan dari versi aslinya tanggal 2017-08-13. Diakses tanggal 2008-06-12.
- ↑ 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.
{{cite web}}: Parameter tidak dikenal|accessdaymonth=diabaikan; Parameter tidak dikenal|accessyear=diabaikan (|access-date=disarankan) - ↑ Kepser, Stephan. (2004).
- ↑ A Simple Proof for the Turing-Completeness of XSLT and XQuery Diarsipkan 2007-09-27 di Wayback Machine.. International Digital Enterprise Alliance.
- ↑ "Universal Turing Machine in XSLT". Diarsipkan dari versi aslinya tanggal 2019-01-09. Diakses tanggal 2008-06-12.
Pranala luar
- XSLT 1.0 W3C Recommendation Diarsipkan 2017-08-13 di Wayback Machine.
- XSLT 2.0 W3C Recommendation Diarsipkan 2006-06-13 di Wayback Machine.
- XSLT Frequently Asked Questions Diarsipkan 2008-05-11 di Wayback Machine.
Standar dari Konsorsium World Wide Web | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Produk dan standar |
| ||||||||||||||
| Organisasi |
| ||||||||||||||
| Perangkat lunak |
| ||||||||||||||
| Konferensi |
| ||||||||||||||
| Internasional | |
|---|---|
| Nasional | |
| Lain-lain | |