Lompat ke isi

Extensible Stylesheet Language Transformations: Perbedaan antara revisi

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung
Maintenance script (bicara | kontrib)
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 28445055; atribusi sumber disertakan.
 
Maintenance script (bicara | kontrib)
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi
 
Baris 1: Baris 1:
'''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. 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]].
[[File:XSLT.svg|thumb|right|280px|XSLT]]


Sebagai bahasa pemrograman, XSLT dipengaruhi oleh [[functional programming|bahasa pemrograman fungsional]]. Pendahulunya adalah [[DSSSL]], bahasa pemrograman yang mentransformasi [[SGML]] seperti XSLT mentransformasi XML. XSLT juga dapat dianggap sebagai sebuah [[template processor]]. XSLT adalah [[Turing complete]].
'''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">[http://www.w3.org/TR/xslt#section-Introduction XSL Transformations (XSLT)].</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>Dimitre Novatchev. [http://www.idealliance.org/papers/extreme/proceedings/html/2006/Novatchev01/EML2006Novatchev01.html Higher-Order Functional Programming with XSLT 2.0 and FXSL]. ''ExtremeMarkupLanguages''.</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] ''. International Digital Enterprise Alliance.</ref><ref>[http://www.unidex.com/turing/utm.htm Universal Turing Machine in XSLT].</ref>


== Sejarah ==
== Sejarah ==
Baris 17: Baris 19:


== Contoh XSLT ==
== Contoh XSLT ==
Contoh dokumen XML sumber
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) ===
=== Contoh 1 (transformasi XML ke XML) ===
Lembar gaya XSLT ini provides templates untuk transformasi dokumen 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:
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) ===
=== Contoh 2 (transformasi XML ke XHTML) ===
Conntoh Lembar gaya XSLT:
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"/>


[[XHTML]] output that this would produce ([[whitespace (computer science)|whitespace]] has been adjusted here for clarity):
<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>


== Rujukan ==
</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>
|&nbsp;
|align="center"|How the XHTML appears when rendered in a [[web browser]].
|}


== Pranala luar ==
== Pranala luar ==
* [http://www.w3.org/TR/xslt XSLT 1.0 W3C Recommendation]
* [http://www.w3.org/TR/xslt XSLT 1.0 W3C Recommendation]  
* [http://www.w3.org/TR/xslt20/ XSLT 2.0 W3C Recommendation]
* [http://www.w3.org/TR/xslt20/ XSLT 2.0 W3C Recommendation]  
* [http://www.dpawson.co.uk/xsl XSLT Frequently Asked Questions]
* [http://www.dpawson.co.uk/xsl XSLT Frequently Asked Questions]
== Referensi ==
<references />


== Sumber dan atribusi ==
== Sumber dan atribusi ==


Artikel ini diadaptasi dalam mode teks dari
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Extensible+Stylesheet+Language+Transformations&oldid=28445055 Wikipedia bahasa Indonesia], revisi 28445055 (2025-11-13T05:14:08Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
[https://id.wikipedia.org/w/index.php?title=Extensible_Stylesheet_Language_Transformations&oldid=28445055 Wikipedia bahasa Indonesia],
 
revisi 28445055 (2025-11-13T05:14:08Z).
<!-- WIKI_UNISSULA_PRESENTATION_V4 -->
Gambar, media, infobox, templat navigasi, dan kategori sumber
tidak diimpor ke Wiki Unissula.
Atribusi dan lisensi mengikuti ketentuan Creative Commons
Atribusi-BerbagiSerupa (CC BY-SA) pada sumber Wikipedia.

Revisi terkini sejak 23 Agustus 2026 03.09

XSLT

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.[1] 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.[2] Pendahulunya adalah DSSSL, bahasa pemrograman yang mentransformasi SGML seperti XSLT mentransformasi XML. XSLT juga dapat dianggap sebagai sebuah template processor. XSLT adalah Turing complete.[3][4][5]

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<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>

Persons

    <xsl:apply-templates select="person"> <xsl:sort select="family-name" /> </xsl:apply-templates>

</body> </html> </xsl:template>

<xsl:template match="person">

  • <xsl:value-of select="family-name"/><xsl:text>, </xsl:text> <xsl:value-of select="name"/>
  • </xsl:template> </xsl:stylesheet> </syntaxhighlight> XHTML output that this would produce (whitespace has been adjusted here for clarity):

    <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>

    Persons

    • Ismincius, Morka
    • Smith, John

    </body> </html> </syntaxhighlight>

      How the XHTML appears when rendered in a web browser.

    Pranala luar

    Referensi

    Sumber dan atribusi

    Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 28445055 (2025-11-13T05:14:08Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.