XSLTExternalMappingIU
Gruppe |
|
Funktion |
Die Integration Unit kann verwendet werden, um auf einer XML-Datei eine XSLT-Transformation durchzuführen. |
Beschreibung
Diese Integration Unit kann verwendet werden, um auf einer XML-Datei eine XSLT-Transformation durchzuführen. Siehe Beispiel unten.
Beschreibung der Parameter
Parametername |
Erlaubte Werte |
Default-Wert |
Beschreibung |
debug |
true, false |
false |
Falls true, dann werden die temporären Dateien (siehe Log) nicht gelöscht. |
xslt factory |
|
net.sf.saxon.TransformerFactoryImpl |
Angabe der XSLT-Factory. |
xslt file |
|
|
Pfadangabe zur verwendeten XSLT-Datei. Hinweis: Es können mehrere, durch Semikolon getrennte, XSLT-Dateien angegeben werden, die dann sequentiell abgearbeitet werden. Also z. B. ./conf/xslt_test/xslt_v1.xslt;./conf/xslt_test/xslt_v2.xslt |
Für die Transformation wird per Default die Saxon-Library verwendet, die separat installiert werden muss. Gehen Sie dazu z. B. auf die Seite https://sourceforge.net und geben Sie den Suchbegriff "saxon" ein. Laden Sie sich dort die ZIP-Datei herunter und legen Sie die darin enthaltenen .jar-Dateien im Ordner ./extlib ab. Die angegebene Factory (Parameter xslt factory) muss im Klassenpfad des Integration Servers bereitstehen (was sie tut, wenn Sie die .jar-Dateien im Ordner ./extlib ablegen). Hinweis: Sie müssen den Integration Server neu starten, um die neuen Klassen bekannt zu machen.
Mit dem Parameter xslt file wird die zu verwendende XSLT-Datei angegeben.
xslt factory |
net.sf.saxon.TransformerFactoryImpl |
xslt file |
./conf/xslt_test/xslt_v1.xslt |
Wenn Sie nicht die korrekte Saxon-Library zur Verfügung stellen, erhalten Sie folgende Fehlermeldung beim Ausführen eines Profils, das diese Integration Unit verwendet.
... Provider net.sf.saxon.TransformerFactoryImpl not found ... |
Beispiel
Erzeugen Sie ein neues Profil, wählen Sie zuerst den Eingangsagenten "Manu. Hochladen", wählen Sie dann die Dokumentenart "Eigene Klasse" (diese Einstellung sendet die Daten direkt an die Integration Unit). Für die Integration Unit in Phase 5 können Sie die Einstellungen oben übernehmen. Die dort verwendete XSLT-Datei werden wir im Folgenden zur Verfügung stellen. In Phase 6 legen Sie bitte einen Antwortweg vom Typ "Datei" an mit dem Dateipfad ./tmp/xslt/ausgabe_xslt.xml. Stellen Sie zudem den "Inhalt" auf "Ausgabe von IU". Wichtiger Hinweis: Die Integration Unit erwartet die Daten immer im UTF-8-Encoding.
Folgend die in der Integration Unit angegebene XSLT-Datei. Download: xslt_v1.xslt
<?
xml
version
=
"1.0"
?>
<
xsl
:stylesheet
version
=
"1.0"
xmlns:xsl
=
"http://www.w3.org/1999/XSL/Transform"
>
<
xsl
:template
match
=
"teacher"
>
<
p
><
u
><
xsl
:value-of
select
=
"."
/></
u
></
p
>
</
xsl
:template>
<
xsl
:template
match
=
"student"
>
<
p
><
b
><
xsl
:value-of
select
=
"."
/></
b
></
p
>
</
xsl
:template>
<
xsl
:template
match
=
"/"
>
<
html
>
<
body
>
<
xsl
:apply-templates/>
</
body
>
</
html
>
</
xsl
:template>
</
xsl
:stylesheet>
Verwenden Sie folgende XML-Datei als Eingangsdatei des Profils. Download: xslt_test.xml
<?
xml
-stylesheet
type
=
"text/xsl"
href
=
"class.xsl"
?>
<
class
>
<
student
>Jack</
student
>
<
student
>Harry</
student
>
<
student
>Rebecca</
student
>
<
teacher
>Mr. Bean</
teacher
>
</
class
>
Als Ausgabedatei sollte Ihr Profil dann folgende Datei liefern.
<
html
>
<
body
>
<
p
><
b
>Jack</
b
></
p
>
<
p
><
b
>Harry</
b
></
p
>
<
p
><
b
>Rebecca</
b
></
p
>
<
p
><
u
>Mr. Bean</
u
></
p
>
</
body
>
</
html
>