art:transform
jart.handlers.basic.XslTransform
Beschreibung
art:transform ist eine Klasse, die es ermöglicht XML mittels einer XSL-Datei zu transformieren. Weiters besteht die Möglichkeit, das durch die Transformation erzeugte XML entweder in eine Datei zu speichern oder direkt in den aktuellen XML-Baum an eine beliebige Stelle zu laden. Bei der Transformation in eine Datei muss nicht zwingend XML erzeugt werden, nahezu jedes beliebige Format ist denkbar.
Attribute
@xsl-file (erforderlich)
Im Attribut "xsl-file" muss die XSL-Datei angegeben werden, anhand der XML-Baum transformiert werden soll.
@target (optional)
Das Attribut "target" gibt mittels XPath an, in welchen XML-Knoten das über die Transformation erzeugte XML verschoben werden soll. Wird kein "target" und kein "href"-Attribut verwendet, wird das XML an die Stelle gesetzt, an der der Aufruf geschieht.
@insert-mode (optional - benötigt target) (default: inside)
Mittels des "insert-mode"-Attributs kann in Verbindung mit dem "target"-Attribut ein erzeugtes XML nicht nur in einen XML-Knoten, sondern auch danach oder davor verschoben werden.
Mögliche Werte:
after, before, inside
@href (optional)
Wird das "href"-Attribut gesetzt, wird das erzeugte XML nicht im aktuellen XML-Baum erzeugt, sondern in die vom "href"-Attribut festgelegte Datei gespeichert.
Beispiele
<art:plain name="data"> <art:plain name="node"> <art:attribute name="test" value="Hello World!" /> </art:plain> <art:transform href="output.html" xsl-file="main.xsl" /> </art:plain> XSL-Datei: <xsl:template match="/"> <xsl:for-each select="data"> <html> <head /> <body> <xsl:for-each select="node"> <span> <xsl:value-of select="@test" /> </span> </xsl:for-each> </body> </html> </xsl:for-each> </xsl:template> Ergebnis (HTML-Datei): <html> <head> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <span>Hello World!</span> </body> </html>