StrictXml2PlainBean
Mit diesem Modul können Sie ein XML-Dokument, das sich in der Main-Payload der XI-Message befindet, in reines Textformat umwandeln.
Sie können festlegen, ob ein Datensatztyp (Recordset) im Dokument in Text mit fester Spaltenbreite oder in eine separierte Liste mit einem von Ihnen definierten Trennzeichen abgebildet werden soll.
Innerhalb eines XML-Dokuments können unterschiedliche Datensatztypen entweder separiert oder mit fester Spaltenlänge abgebildet werden (gemischte Abbildung).
Die Struktur des Dokuments wird aufgrund der von Ihnen im Modul gemachten Angaben überprüft. Werden im Dokument Strukturen gefunden, die nicht Ihrer Definition entsprechen, dann wird zur Laufzeit ein Verarbeitungsfehler ausgelöst.
● Sie können das Modul in Empfänger-Adaptern einsetzen.
● Sie können das Modul im File-/FTP-Empfänger-Adapter anstelle des Message-Protokolls Umwandlung des Datei-Inhalts verwenden. Das Modul bietet mehr Konvertierungsmöglichkeiten und eine Überprüfung der Struktur, die umgewandelt wird.
Siehe: Umwandlung des Datei-Inhalts im Empfänger-Adapter
● Fügen Sie das Modul vor dem Adaptermodul ein.
Besteht der Adapter aus mehreren Modulen, finden Sie Informationen über die Position des Moduls unter: Erweiterung der Modulkette im Modul-Prozessor
● Geben Sie den Modulnamen AF_Modules/StrictXml2PlainBean an.
● Wählen Sie als Modultyp Local Enterprise Bean.
Der Modulschlüssel wird vorgeschlagen.
Geben Sie Parameternamen und Parameterwerte zum Modulschlüssel des Moduls an.
● Geben Sie als Parametername recordTypes an.
Geben Sie unter Parameterwert die vollständige Komma-separierte Liste aller Namen der im zu konvertierenden Dokument vorkommenden Datensatztypen an.
Entscheiden Sie sich für diese Methode, dann können Sie für jeden im XML-Dokument vorkommenden Datensatztyp eine andere Konvertierungsart definieren.
Die Datensatztypen könnten beispielsweise heißen: RecordType1,RecordType2,RecordType3
● Geben Sie als Parametername singleRecordType an.
Geben Sie unter Parameterwert den Namen eines Datensatztyps an, der zur Konvertierung aller im XML-Dokument vorkommenden Elemente verwendet werden soll.
Entscheiden Sie sich für diese Methode, dann legen Sie für jeden im XML-Dokument vorkommenden Datensatztyp dieselbe Konvertierungsart fest.
Die Angabe genau eines Parameters ist zwingend. Die Angabe eines Parameters schließt die Angabe des anderen Parameters aus.
Für jeden Datensatztyp legen Sie weitere Parameter fest.
Die Parameter sind im Folgenden mit dem Präfix <RecordType> angegeben. Verwenden Sie in Ihrer Konfiguration stattdessen jeweils den Namen des Datensatztyps.
● <RecordType>.fieldSeparator
Geben Sie das Feldtrennzeichen an, das zwischen den einzelnen Feldern eines Records geschrieben wird.
Die Angabe ist zwingend erforderlich.
● <RecordType>.fieldLengths
Geben Sie eine Zeichenkette an, die eine Liste von festen Spaltenbreiten enthält, die durch Kommata getrennt sind und die die Anzahl und Länge der in der Textdatei erzeugten Spalten bestimmt.

Sie möchten beispielsweise einen Datensatz mit drei Elementen schreiben, die die Spaltenbreite fünf, zehn und 15 Zeichen haben. Geben Sie an:
<RecordType>.fieldLengths = 5,10,15
Die Angabe ist zwingend erforderlich.
● <RecordType>.fieldLengthExceeded
Geben Sie an, wie Felder behandelt werden sollen, die die konfigurierte Spaltenbreite überschreiten. Zulässige Werte für den Parameterwert sind:
○ error (Vorgabewert)
Unterbricht die Verarbeitung der Message mit einem Fehler
○ cut
Schneidet überschüssige Zeichen ab
○ ignore
Ignoriert die Spaltenbreitenbeschränkung
● <RecordType>.beginSeparator
Geben Sie eine Zeichenkette an. Sie wird der ersten Spalte eines Datensatzes vorangestellt.
● <RecordType>.endSeparator
Geben Sie eine Zeichenkette an. Sie wird bei der letzten Spalte eines Datensatzes als Abschlusszeichen angefügt. Vorgabewert ist \r\n.
● contentType
Geben Sie den MIME-Typ der konvertierten Payload an. Vorgabewert ist text/plain.
● addHeaderLine
Definieren Sie den Parameter nur, wenn Sie zuvor singleRecordType definiert haben.
Legen Sie fest, ob dem Ergebnis der Konvertierung eine Kopfzeile vorangestellt werden soll.
○ none (Vorgabewert)
Fügt keine Kopfzeile ein
○ fromXML
Die Kopfzeile wird aus den Elementnamen des ersten Datensatzes des XML-Dokuments generiert.
○ fromConfiguration
Die Kopfzeile wird durch den Konfigurationsparameter headerLinebestimmt.
● headerLine
Definieren Sie den Parameter nur, wenn Sie zuvor addHeaderLine=fromConfiguration gesetzt haben.
Der Wert, den Sie definieren, wird dem Ergebnis der Konvertierung als Kopfzeile vorangestellt.
● fixedLineWidth
Geben Sie die maximale Zeilenlänge n (in Zeichen) an, die in das Ausgabedokument geschrieben werden soll. Alle n Zeichen wird in das Ausgabedokument ein Trennzeichen eingefügt, das durch lineSeparator festgelegt wird.
● lineSeparator
Definieren Sie den Parameter nur, wenn Sie zuvor fixedLineWidth definiert haben.
Geben Sie die Zeichenkette an, die am Ende jeder mit fixedLineWidth geschriebenen Zeile in das Ausgabedokument geschrieben wird. Vorgabewert ist \r\n.
Sie können Sonderzeichen bei den Parametern <RecordType>.fieldSeparator, <RecordType>.beginSeparator, <RecordType>.endSeparator, headerLine und lineSeparator verwenden.
● Tabulator: \t
● Carriage Return (CR): \r
● Line Feed (LF): \n
● Beliebige Zeichen: \x<code>
<code> bezeichnet den hexadezimalen Character-Code des darzustellenden Zeichens.
Ein zu konvertierendes Dokument hat genau drei Ebenen; die Datensatztypen befinden sich auf der zweiten Ebene, während sich die eigentlichen Daten auf der dritten Ebene befinden.
<root>
<RecordType1>
<column-name1>column-value</column-name1>
<column-name2>column-value</column-name2>
<column-name3>column-value</column-name3>
</RecordType1>
<RecordType2>
<data>column-value</data>
<data2>column-value</data2>
<data3>column-value</data3>
</RecordType2>
</root>
Für das Dokument können Sie eine Konfiguration für die beiden Datensatztypen RecordType1 und RecordType2 festlegen. Dazugeben Sie an: recordTypes=RecordType1,RecordType2
Sie haben dann die Möglichkeit, für jeden Datensatztyp eine andere Umwandlung zu definieren.
Verwenden Sie den Parameter singleRecordType, dann werden beide Datensatztypen gleich umgewandelt.