Junior
Wat is XSLT?
sobes.tech AI
Antwoord van AI
XSLT (eXtensible Stylesheet Language Transformations) — een taal voor het transformeren van XML-documenten. Het wordt gebruikt om XML om te zetten naar andere formaten, zoals HTML, een andere XML of platte tekst, door regels toe te passen die beschreven staan in een XSLT-stylesheet.
Belangrijkste concepten:
- XSLT-stylesheet: Een XML-document dat de transformatieregels bevat.
- Templates: De hoofdblokken van regels. Ze matchen elementen of attributen van de bron-XML en bepalen hoe ze getransformeerd moeten worden.
- XPATH: Een querytaal om knopen te selecteren in een XML-document. Gebruikt in XSLT om te bepalen welke delen van de XML de regels moeten toepassen.
- XSLT-processor: Een programma dat de transformatie uitvoert door de bron-XML en het XSLT-stylesheet te lezen en het resultaat te genereren.
Java heeft ingebouwde ondersteuning voor XSLT via JAXP (Java API for XML Processing).
Voorbeeld van een eenvoudige XML naar HTML transformatie met XSLT:
Bron-XML:
<boeken>
<boek id="1">
<titel>De Meester en Margarita</titel>
<auteur>Bulgakov M.</auteur>
</boek>
<boek id="2">
<titel>Oorlog en Vrede</titel>
<auteur>Tolstoj L.</auteur>
</boek>
</boeken>
XSLT-stylesheet (bijvoorbeeld, boek.xsl):
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/boeken">
<html>
<head>
<title>Boeklijst</title>
</head>
<body>
<h1>Boeklijst</h1>
<ul>
<xsl:apply-templates select="boek"/>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="boek">
<li>
<b><xsl:value-of select="titel"/></b>, Auteur: <xsl:value-of select="auteur"/>
</li>
</xsl:template>
</xsl:stylesheet>
Java-code om de transformatie uit te voeren met JAXP:
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import java.io.*;
public class XSLTExample {
public static void main(String[] args) {
try {
// Maak een TransformerFactory
TransformerFactory factory = TransformerFactory.newInstance();
// Laad het XSLT-stylesheet
Source xslt = new StreamSource(new File("boek.xsl"));
Transformer transformer = factory.newTransformer(xslt);
// Laad de bron-XML
Source xml = new StreamSource(new File("boeken.xml"));
// Definieer de uitvoer
Result result = new StreamResult(new File("output.html"));
// Voer de transformatie uit
transformer.transform(xml, result);
System.out.println("Transformatie voltooid. Resultaat opgeslagen in output.html");
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}
}
}
XSLT wordt veel gebruikt in webontwikkeling (generatie van HTML uit XML voor weergave), data-integratie en XML-berichtenverwerking.