Extensible Stylesheet Language

Extensible Stylesheet Language (XSL), eine Computersprache, ist eine in XML notierte Familie von Transformationssprachen zur Definition von Layouts für XML-Dokumente. Die Untersprache XSLT wird außerdem zur Übersetzung/Transformation eines XML-Formats in ein anderes XML- oder Textformat genutzt.

Referenzen auf Layouts (auch Stylesheets genannt) können in die zu formatierenden XML-Dokumente eingebunden werden, wobei sich die Layouts speziellen Medien zuordnen lassen. So ist es möglich, ein Layout zum Drucken und ein Layout für die Darstellung am Computer zu verwenden.

Umfang 
Zu XSL gehören:
 das XML-basierte eigentliche XSL (zur Unterscheidung genannt XSL-Formatting Objects, XSL-FO) für die Beschreibung eines Dokuments als Baum mit Formatierungsanweisungen und Stilangaben,
 das XML-basierte XSL Transformations (XSLT) für die Transformation eines beliebigen XML-Dokuments in einen anderen Baum
 und indirekt auch XPath für die Adressierung von Baumbestandteilen.

Einsatzgebiete 
Die drei Sprachen (XSL-FO, XSLT, XPath) lassen sich gemeinsam als XSL oder auch unabhängig voneinander verwenden.

Ein Dokument ließe sich z. B. gleich in XSL-FO verfassen, eine in der Praxis angewandte Vorgehensweise zum Entwurf neuer Layouts.

XSLT kann nicht nur nach XSL-FO transformieren, sondern in jede beliebige XML-basierte Sprache oder aber auch in Formate, die nicht XML sind. In der Praxis wird XSLT vergleichsweise selten mit XSL eingesetzt. Wesentlich häufiger ist XSLT bei Message Oriented Middleware oder Presentation Oriented Publishing auf XML-Basis anzutreffen, wobei letzteres weitaus häufiger mit XHTML für den Einsatz im WWW als XSL-FO verwendet wird. XSLT wird also häufiger mit anderen XML-basierten Sprachen verwendet als mit XSL-FO.

XPath wird in XSLT für XSLT Patterns und für XQuery verwendet.

Geschichte 
XSL geht auf das von James Clark entwickelte DSSSL zurück. Im Gegensatz zu DSSSL bietet XSL zwei wesentliche Neuerungen:
 XML-basierte Syntax
 Trennung der Sprachen für die Transformation (XSLT), die Formatierung (XSL-FO) und die Baumadressierung (XPath) in eigenständige und unabhängig voneinander verwendbare Sprachen

Das erste Working Draft zu XSL behandelte noch alle Komponenten in einem Dokument und wurde im August 1998 veröffentlicht. Im Laufe der Entwicklung wurden XSLT und XPath in eigenständige Dokumente ausgelagert. XSLT 1.0 und XPath 1.0 wurden im November 1999 verabschiedet, XSL selbst im Oktober 2001.

Die derzeit aktuelle Fassung von XSLT 2.0 und XPath 2.0 wurde am 23. Januar 2007 verabschiedet.

Software 
Siehe auch XSLT für verschiedene XSLT-Prozessoren.
 FOP, Open Source
 xmlroff, Open Source
 XEP, kommerziell
 AXF, kommerziell
 Microsoft Visual Studio 2005, kommerziell
 Antenna House Formatter (deutsch), kommerziell
 Compart DocBridge XSL Extensions für XSL-FO (deutsch), kommerziell
 <oXygen/> XSL editor and debugger, kommerziell
 XF Rendering Server, kommerziell
 XML2PDF Formatting Engine Server, kommerziell
 , kommerziell

Weblinks 
 The Extensible Stylesheet Language (XSL). W3C, enthält unter anderem Spezifikation (auch dt. Übersetzungen), Tutorials und Software zu XSL, XSLT, XSL-FO und XPath
 Das XML-XSLT-Seminar. Online-Version des gleichnamigen Buches, Kapitel 9 XSLT
 Einführung in XSLT im SELFHTML-Wiki
 XSLT-Einführung in die Transformationssprache mit Referenz und Beispielen

XML-basierte Sprache