Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier. XSLT ist die Abkürzung für XSL Transformation ; XSL wiederum bedeutet Extensible Stylesheet Language .
XSLT ist eine u.a. aus DSSSL hervorgegangene deklarative funktional-applikative XML -basierte Programmiersprache zur Transformation von XML -Dokumenten im Kontext ihrer logischen Baumstruktur. Entwickelt XSLT ursprünglich von James Clark (XSLT 1.0 1.1) für die derzeitige Weiterentwicklung ist Michael verantwortlich (XSLT 2.0).
Ein in XSLT verfasstes Programm heißt oder Transformation. Ein Programm das XSLT-Stylesheets verarbeiten heißt XSLT-Prozessor. XSLT-Prozessoren sind auch in den Web-Browsern (Internet Explorer ab Version 5 (?) integriert.
Ursprünglich sollte mit XSL eine DSSSL -artige Sprache in XML-Syntax entstehen. Schnell war klar dass eine solche Sprache eigentlich aus interagierenden aber unabhängig voneinander einsetzbaren Bestandteilen besteht:
Einer Sprache für die Beschreibung eines als Baum mit Formatierungsanweisungen und Stilangaben: XSL Objects
Einer Sprache für die Transformation eines XML-Dokuments in einen anderen Baum z.B. einen XSL FO: XSLT
Die Sprache XSLT beschreibt Programme genannt oder Stylesheet die Daten aus XML -Dokumenten in andere (meist) XML -Dokumente zu verwandeln.
Dazu werden die XML-Dokumente als logischer (Baumstruktur die kleinsten Bestandteile des Baums heißen betrachtet: Die Quell-Bäume der zu transformierenden Dokumente durch die Transformation die entstehenden Ziel-Bäume der erzeugenden Dokumente (in XSLT vor 2.0 kann ein Dokument erzeugt werden ab XSLT 2.0
Eine Transformation besteht dazu aus einer von einzelnen Transformationsregeln genannt Templates. Eine Template eine auf XPath basierende Pattern die beschreibt für welche sie gilt und einen Inhalt der bestimmt die Template ihren Teil des Zielbaums erzeugt.
In einem XSLT-Dokument kommen also an und XML-basierten Technologien mindestens vor:
XML als Basis für XSLT die des Quell-Dokuments (XHTML) und meist auch die des Ziel-Dokuments.
XSLT selbst (XML-basiert)
XPath / XSLT Patterns
Die Sprache(n) des Quell-Dokuments (XML-basiert z.B.
Die Sprache(n) des Ziel-Dokuments (in der XML-basiert z.B. XHTML)
XML Namespaces zur Unterscheidung der einzelnen Sprachen
Die Sprache XSLT beschreibt Programme genannt oder XSLT-Stylesheet um Daten aus XML -Dokumenten in andere (meist) XML -Dokumente zu verwandeln.
Dafür gibt es zwei Hauptanwendungsgebiete.
POP (Presentation Oriented Publishing) bezeichnet die zum Zwecke der Darstellung. Mit unterschiedlichen Stylesheets die Daten in XHTML Formatting Objects SVG SMIL DocBook und viele andere Formate umgewandelt werden. ursprüngliche semantische Markup wird dabei durch ein Stil-bezogenes Markup
MOM (Message Oriented Middleware) bezeichnet die zum Zwecke des Datenaustausches. Da XML lediglich Sprachkonzept zur Entwicklung von Sprachen bildet genügt nicht dass zwei Systeme (z.B. Programme) XML um gegenseitig Daten austauschen zu können. Sie die gleiche XML-basierte Sprache verwenden. In dem Fall wo die Systeme nicht die gleiche Sprache verwenden wird gerne XSLT eingesetzt um Hilfe von Transformationen Übersetzer von der einen in die andere zu entwickeln.
Statistische Daten liegen als XML vor aus der Datenbank) und werden mit Hilfe Transformationen unter anderem aufbereitet als Vektorgrafik in als Tabelle in XHTML und als PDF (über den Zwischenschritt XSL-FO ).
Für eine Website werden die XHTML-Dateien ohne Layout geschrieben und erhalten anschließend das mit Hilfe einer Transformation. Der Vorteil ist ähnlich dem eines klassischen CMS: Um das zu ändern ist es nicht notwendig alle zu ändern; stattdessen ändert man das Stylesheet transformiert neu.
Derzeit wird XSLT wohl am häufigsten verwendet einfach XML-Dokumente durch Transformation nach mit versehenem XHTML in Webbrowsern darstellbar zu machen.
Eine mögliche Alternative zu XSLT ist das man auch als Vorläufer von XSLT kann. Der wohl größte Vorteil von XSLT DSSSL ist seine XML-basierte Syntax. Somit kann XML-Editor automatisch auch für XSLT eingesetzt werden gelten die Syntax-Regeln von XML (Wohl-geformtheit Gültigkeit) auch für XSLT.
Eine grundsätzliche Alternative zu XSLT besteht der Möglichkeit solche Transformationen in jeder beliebigen (z.B. Java C++ oder Perl) abzufassen. XSLT dabei jedoch bei Einhaltung bestimmter Voraussetzungen ein gewisses Garant für wohl-geformte und unter umständen gültige Zieldokumente gewähren außerdem ist die Entwicklung Transformation in XSLT in der Regel mit weniger Aufwand verbunden als die Entwicklung einer in einer Programmiersprache.
Häufig wird CSS als Alternative zu genannt. CSS ist jedoch nicht wirklich eine zu XSLT. CSS beschreibt lediglich wie die eines Baums (akustisch oder visuell) zu formatieren während XSLT den Baum radikal ändern kann. kann man mit XSLT z.B. automatisch Inhaltsverzeichnisse Link-Listen und ähnliches erstellen nicht jedoch mit