Breadcrumb
Wiki Home
JART
JART Syntax
art:transform
Tools
Sitemap
Einzel Pdf
Struktur Pdf
Mein Wiki
Wiki Manager
Abmelden
Neu
Aktualisiert
art : date
guido
RTReport
v4-indexer-l
Schema Actions
Update 2013-10-28
v3-zu-v4
Report Designer
v4-indexer
Update-2013-11-06

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

Globale 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>