XSLTExternalMappingIU
Gruppe |
|
Klassenname |
com.ebd.hub.datawizard.iu.XSLTExternalMappingIU |
Funktion |
Die Integration Unit kann verwendet werden, um auf einer XML-Datei eine XSLT-Transformation durchzuführen. |
Beschreibung
Einleitung: Integration Units.
Die XSLTExternalMappingIU kann verwendet werden, um auf einer XML-Datei eine XSLT-Transformation durchzuführen. Die Integration Unit erwartet die Daten immer im UTF-8-Encoding. Sie müssen als Dokumentenart zwingend Eigene Klasse verwenden. Eine empfangene XML-Datei wird dadurch also direkt zur XSLT-Transformation an die Integration Unit übergeben.
Beschreibung der Parameter
Parametername |
Erlaubte Werte |
Default-Wert |
Beschreibung |
xslt factory |
net.sf.saxon.TransformerFactoryImpl |
Angabe der XSLT-Factory. |
|
xslt file |
Pfadangabe zur verwendeten XSLT-Datei. |
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.
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.
Beispiel
Erzeugen Sie ein neues Profil, wählen Sie den Eingangsagenten Manu. Hochladen, wählen Sie die Dokumentenart Eigene Klasse und setzen Sie die Checkbox Kein Mapping. Für die Integration Unit in Phase 5 können Sie die Einstellungen aus dem obigen Screenshot übernehmen. Die dort verwendete XSLT-Datei werden wir im Folgenden zur Verfügung stellen. In Phase 6 legen Sie bitte wie im folgenden Screenshot einen Antwortweg vom Typ Datei an.
Hier die in der Integration Unit angegebene XSLT-Datei.
<?
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.
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<?
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
>