Junior
Was ist XSLT?
sobes.tech KI
Antwort von AI
XSLT (eXtensible Stylesheet Language Transformations) ist eine Sprache zur Transformation von XML-Dokumenten. Sie wird verwendet, um XML in andere Formate umzuwandeln, z.B. in HTML, ein anderes XML oder einfachen Text, wobei Regeln angewendet werden, die in einem XSLT-Stylesheet beschrieben sind.
Hauptkonzepte:
- XSLT-Stylesheet: XML-Dokument, das die Transformationsregeln enthält.
- Templates (Vorlagen): Hauptblöcke von Regeln. Entsprechen Elementen oder Attributen des Quell-XML und bestimmen, wie sie transformiert werden.
- XPATH: Abfragesprache zur Auswahl von Knoten in einem XML-Dokument. Wird in XSLT verwendet, um zu bestimmen, welche Teile des XML angewendet werden sollen.
- XSLT-Prozessor: Programm, das die Transformation durchführt, indem es das Quell-XML und das XSLT-Stylesheet liest und das Ergebnis generiert.
Java bietet integrierte Unterstützung für XSLT über JAXP (Java API for XML Processing).
Beispiel für eine einfache XSLT-Transformation von XML in HTML:
Quell-XML:
<bücher>
<buch id="1">
<titel>Der Meister und Margarita</titel>
<autor>Bulgakov M.</autor>
</buch>
<buch id="2">
<titel>Krieg und Frieden</titel>
<autor>Tolstoi L.</autor>
</buch>
</bücher>
XSLT-Stylesheet (z.B. buch.xsl):
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/bücher">
<html>
<head>
<title>Liste der Bücher</title>
</head>
<body>
<h1>Liste der Bücher</h1>
<ul>
<xsl:apply-templates select="buch"/>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="buch">
<li>
<b><xsl:value-of select="titel"/></b>, Autor: <xsl:value-of select="autor"/>
</li>
</xsl:template>
</xsl:stylesheet>
Java-Code zur Ausführung der Transformation mit JAXP:
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import java.io.*;
public class XSLTExample {
public static void main(String[] args) {
try {
// TransformerFactory erstellen
TransformerFactory factory = TransformerFactory.newInstance();
// XSLT-Stylesheet laden
Source xslt = new StreamSource(new File("buch.xsl"));
Transformer transformer = factory.newTransformer(xslt);
// Quell-XML laden
Source xml = new StreamSource(new File("bücher.xml"));
// Ausgabestrom definieren
Result result = new StreamResult(new File("output.html"));
// Transformation durchführen
transformer.transform(xml, result);
System.out.println("Transformation abgeschlossen. Ergebnis in output.html gespeichert.");
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}
}
}
XSLT wird häufig in der Webentwicklung (Erzeugung von HTML aus XML zur Anzeige), bei der Datenintegration und bei der Verarbeitung von XML-Nachrichten verwendet.