XSLT (Extensible Stylesheet Language Transformation) ist eine
deklarative, XML-basierte Sprache, die zum Darstellen oder zum Transformieren von XML-Daten verwendet wird.
Die Transformation von XML-Daten umfasst das Übernehmen des Quelldokuments, das als Knotenstruktur
betrachtet wird, und das Erstellen eines zweiten XML-Dokuments aus dem ersten Dokument in einem anderen
Format. Das XSLT-Stylesheet stellt die Regeln und das Format bereit, mit deren Hilfe das Erstellen des
Ausgabedokuments angegeben wird. Falls die Ausgabe in einem entsprechenden Format, wie z. B.
HTML, vorliegt, kann sie zur Darstellung des Quelldokuments verwendet werden.
Mithilfe von XPath (XML Path Language (XPath): Eine Sprache zum Adressieren von Teilen eines XML-Dokuments. XPath stellt darüber hinaus auch grundlegende Möglichkeiten zum Bearbeiten von Zeichenfolgen, Zahlen und booleschen Werten bereit.)-Ausdrücken ordnet XSLT Komponenten (oder Knoten) eines XML-Dokuments XSLT-Vorlagen zu und wendet anschließend Transformations- und
Formatierungsregeln auf die zugeordneten Komponenten an. XSLT-Vorlagen sind Strukturen, mit deren
Hilfe die zu transformierenden Komponenten des XML-Dokuments angegeben werden, ebenso das
Format, in das die zugeordneten Komponenten schließlich transformiert werden sollen. Da
XSLT in XML implementiert ist, definiert XSLT eine besondere Gruppe von Elementen und Attributen,
die zum Erstellen der Transformationen verwendet werden können. Mithilfe von XSLT kann
jeder Typ von XML-Dokument transformiert werden, dazu zählen XML-Daten, XML-Schemas oder andere XSLT-Stylesheets.
Aus der Sicht des Programmierers unterstützt XSLT eine Vielzahl allgemeiner
Methoden für die Verarbeitung von XML-Daten:
- Datentypen Eine kleine Gruppe von Datentypen,
z. B. Boolean, number, string und node-set.
- Operationen Unterschiedliche Operationen, die für
XML-Daten ausgeführt werden können, z. B. template,
apply-template, sort und
output.
- Datenflusskontrolle Programmieranweisungen, welche zum Steuern des Flusses
von Transformationen verwendet werden, z. B. if,
for-each und choose.