Extensible Stylesheet Language Transformations: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
Tidak ada ringkasan suntingan |
Rescuing 5 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
||
(29 revisi perantara oleh 19 pengguna tidak ditampilkan) | |||
Baris 1:
{{ terjemah|Inggris}}
{{infobox file format
| name = XSL Transformations
| extension = .xsl<span style="font-family: sans-serif;">,</span> .xslt
| mime = application/xslt+xml<ref>{{Cite web |url=http://www.w3.org/TR/xslt20/#xslt-mime-definition |title=XSL Transformations (XSLT) Version 2.0<!-- Bot generated title --> |access-date=2008-06-12 |archive-date=2006-06-13 |archive-url=https://web.archive.org/web/20060613010826/http://www.w3.org/TR/xslt20/#xslt-mime-definition |dead-url=no }}</ref>
| owner = [http://www.w3.org/ World Wide Web Consortium]
| screenshot = [[Berkas:XSLT.svg|200px]]
| creatorcode =
| genre = [[Stylesheet language]]
| containerfor =
| containedby =
| extendedfrom = [[XML]]
| extendedto =
| standard = [http://www.w3.org/TR/xslt 1.0 (Recommendation)], {{br}}
[http://www.w3.org/TR/xslt20/ 2.0 (Recommendation)]
}}
[[Berkas:XSLT en.svg|ka|jmpl|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 [[XML transformation language|transformasi dokumen XML]] menjadi dokumen XML atau format lainnya. Transformasi tidak mengubah dokumen asli, melainkan menghasilkan dokumen baru berdasarkan isi dokumen asli.<ref name="result_doctype">{{Cite web |url=http://www.w3.org/TR/xslt#section-Introduction |title=XSL Transformations (XSLT) |access-date=2008-06-12 |archive-date=2017-08-13 |archive-url=https://web.archive.org/web/20170813015028/http://www.w3.org/TR/xslt#section-Introduction |dead-url=no }}</ref> XSLT sering digunakan untuk mengkonversi data dari satu [[XML schema]] ke schema lain, ke format [[XHTML]], atau format XML yang dapat diubah menjadi dokumen [[Portable Document Format|PDF]].
Sebagai bahasa pemrograman, XSLT dipengaruhi oleh [[functional programming|bahasa pemrograman fungsional]].<ref>{{cite web | url=http://www.idealliance.org/papers/extreme/proceedings/html/2006/Novatchev01/EML2006Novatchev01.html | author=Dimitre Novatchev | title=Higher-Order Functional Programming with XSLT 2.0 and FXSL | accessdaymonth=January 18 | accessyear=2007 | work=ExtremeMarkupLanguages | access-date=2008-06-12 | archive-date=2008-07-05 | archive-url=https://web.archive.org/web/20080705160650/http://www.idealliance.org/papers/extreme/Proceedings/html/2006/Novatchev01/EML2006Novatchev01.html | dead-url=yes }}</ref> Pendahulunya adalah [[DSSSL]], bahasa pemrograman yang mentransformasi [[SGML]] seperti XSLT mentransformasi XML. XSLT juga dapat dianggap sebagai sebuah [[template processor]]. XSLT adalah [[Turing complete]].<ref>Kepser, Stephan. (2004).</ref><ref>[http://www.mulberrytech.com/Extreme/Proceedings/html/2004/Kepser01/EML2004Kepser01.html A Simple Proof for the Turing-Completeness of XSLT and XQuery] {{Webarchive|url=https://web.archive.org/web/20070927211240/http://www.mulberrytech.com/Extreme/Proceedings/html/2004/Kepser01/EML2004Kepser01.html |date=2007-09-27 }}''. International Digital Enterprise Alliance.</ref><ref>{{Cite web |url=http://www.unidex.com/turing/utm.htm |title=Universal Turing Machine in XSLT |access-date=2008-06-12 |archive-date=2019-01-09 |archive-url=https://web.archive.org/web/20190109020124/http://www.unidex.com/turing/utm.htm |dead-url=no }}</ref>
==
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-FO|XSL Formatting Objects]] dan [[XPath]]. Penyunting versi pertama adalah [[James Clark (XML expert)|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 (software engineer)|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
==
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, namun 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<syntaxhighlight lang="xml">
<?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>
</syntaxhighlight>
=== Contoh 1 (transformasi XML ke XML) ===
Lembar gaya XSLT ini provides templates untuk transformasi dokumen XML:<syntaxhighlight lang="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>
</syntaxhighlight>
Its evaluation results in a new XML document, having another structure:
<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<root>
<name username="JS1">John</name>
<name username="MI1">Morka</name>
</root>
</syntaxhighlight>
=== Contoh 2 (transformasi XML ke XHTML) ===
Conntoh Lembar gaya XSLT:
<syntaxhighlight lang="xml">
<?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>
</syntaxhighlight>
[[XHTML]] output that this would produce ([[whitespace (computer science)|whitespace]] has been adjusted here for clarity):
{| width="100%" border="0"
|
<syntaxhighlight lang="xml">
<?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>
</syntaxhighlight>
|
|align="center"|[[Berkas:xslt ex2.png]]{{br}}{{br}}{{br}}{{br}}How the XHTML appears when rendered in a [[web browser]].
|}
== Rujukan ==
{{reflist}}
== Pranala luar ==
* [http://www.w3.org/TR/xslt XSLT 1.0 W3C Recommendation] {{Webarchive|url=https://web.archive.org/web/20170813015028/http://www.w3.org/TR/xslt |date=2017-08-13 }}
* [http://www.w3.org/TR/xslt20/ XSLT 2.0 W3C Recommendation] {{Webarchive|url=https://web.archive.org/web/20060613010826/http://www.w3.org/TR/xslt20/ |date=2006-06-13 }}
* [http://www.dpawson.co.uk/xsl XSLT Frequently Asked Questions] {{Webarchive|url=https://web.archive.org/web/20080511084110/http://dpawson.co.uk/xsl/ |date=2008-05-11 }}
{{Standar W3C}}
{{Authority control}}
[[
[[Kategori:Bahasa pemrograman]]
|