XSL ist eine Familie von XML-basierten Sprachen zur Erzeugung von Layouts für XML-Dokumente. Diese Layouts (auch Stylesheets genannt) werden in die zu formatierenden XML-Dokumente eingebunden. Es ist möglich die Layouts den speziellen Medien zuordnen lassen. So ist es möglich, ein Layout zum Drucken und ein Layout für die Darstellung am Computer zu verwenden. XSLT ist ein Dialekt welches auch zur Übersetzung/Transformation eines XML-Dialektes in ein anderes Format (z.B. XHTML oder anderes XML dialekt) dienen kann.
Zu XSL gehören:
Noch mal um die Begriffsverwechslungen zu umgehen. Die Recommendation zu XSL beschreibt in ihrem Abstract, dass XSL ausdrücklich aus zwei Teilen besteht:
In der korrekten Terminologie bezeichnet XSL also die Verwendung von XSLT und XSL-FO in Kombination.
XSL-FO ist eine XMLbasierete Formatirungssprache, die beschreibt, wie Text, Bilder, Linien und andere grafische Elemente auf einer Seite angeordnet werden. Mit Hilfe von XSL-FO ist es möglich, qualitativ hochwertige Druckerzeugnisse entweder auf Papier oder auf dem Bildschirm zu erzeugen.
Für die Generierung von PDF, RTF, ASCII-Text und sonstigen Print-Medien stehen sogenannte FO-Prozessoren zur Verfügung (sihe FOP)
<?xml version="1.0"?> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <fo:layout-master-set> <fo:simple-page-master master-name="A4" page-width="210mm" page-height="290mm"> <fo:region-body region-name="xsl-region-body" margin="3cm"/> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="A4"> <!-- (in Versionen <20 "master-name") --> <fo:flow flow-name="xsl-region-body"> <fo:block>Hello World!</fo:block> </fo:flow> </fo:page-sequence> </fo:root>
XSLT ist eine funktionale Programmiersprache zur Transformation von XML-Dokumenten. Es baut auf der logischen Baumstruktur eines XML-Dokumentes auf und erlaubt die Definition von Umwandlungsregeln. XSLT-Programme, sogenannte XSLT-Stylesheets, sind dabei ebenfalls nach den Regeln des XML-Standards aufgebaut. Die Sprache XSLT beschreibt die Umwandlung eines XML-Derivats (auch XML-Dialekt) in ein anderes Dokument. Diesen Vorgang nennt man Transformation. Das resultierende Dokument entspricht meist der XML-Syntax, es können aber auch Textdateien oder Binärdateien erstellt werden.
Eine Transformation besteht aus einer Reihe von einzelnen Transformationsregeln, die Templates (deutsch “Schablonen”) genannt werden. Ein Template besitzt ein auf XPath basiertes Pattern.
Folgede Deklarationen sind gleichbedeutetnd
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
und
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Konfliktauflösung wird dann benötigt, wenn ein Knoten zu mehreren Template Rules gleichzeitig passt. In solchen Fällen gelten die folgenden Regeln.