XSLTExternalMappingIU
Gruppe |
|
Funktion |
Die Integration Unit kann verwendet werden, um auf einer XML-Datei eine XSLT-Transformation durchzuführen. |
Beschreibung
Einleitung: Integration Units. Setzen Sie in Phase 6 in den Inhalts-Einstellungen eines Antwortwegs den Inhalt auf Ausgabe von IU.
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 von Lobster_data 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
>