Die XSL-Transformationen (kurz: XSLT) [5] sind Bestandteil des XML-Formatierungsprozesses (beschrieben in [4]), der zum Ziel hat, ein XML-Dokument [1] in eine besser darstellbare Form umzuwandeln.
XSLT an sich ist eine Baumtransformation, d. h. ein Quellbaum (z. B. DOM-Struktur) wird in einen Zielbaum übersetzt. Weder die Generierung des Quellbaumes, noch dessen Format (DOM, JDOM, SAX...) sind dabei durch XSLT festgelegt. Die XSLT-Spezifikation ist erfüllt, wenn die Struktur des Ergebnisses der Spezifikation entspricht.
Die genaue Art der Transformation wird in einem XML-Stylesheet festgelegt. Dabei handelt es sich ebenfalls um ein XML-Dokument, dessen Syntax in den folgenden Kapiteln erläutert wird.
Die Verknüpfung des Stylesheets mit einer XML-Seite geschieht entweder explizit durch Angabe beim XSLT-Prozessor oder implizit durch eine entsprechende Processing-Instruction [3]:
<?xml-stylesheet type="text/xml" href="style.xml"?>oder
<?xml-stylesheet type="text/xml" href="#style"?>
Da das Stylesheet auch ein XML-Dokument ist, muß als Typ application/xml oder text/xml [7] angegeben werden. Die erste Zeile verweist dabei auf ein externes Dokument, die letztere Zeile besagt, daß das Stylesheet im aktuellen Dokument eingebettet ist. Ein Beispiel dafür:
<?xml version="1.0"?> <?xml-stylesheet type="text/xml" href="#style"?> <beispiel> <tag1/> <xsl:stylesheet id="style"> ... </xsl:stylesheet> <tag2>...</tag2> </beispiel>
(Dabei ist dann natürlich darauf zu achten, daß das eingebettete Stylesheet nicht mit transformiert wird; mehr dazu im folgenden.)