Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation StrictXml2PlainBean  Dokument im Navigationsbaum lokalisieren

Verwendung

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.

Integration

      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

Aktivitäten

Eingaben in der Verarbeitungssequenz

      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.

Eingaben in der Modulkonfiguration

Geben Sie Parameternamen und Parameterwerte zum Modulschlüssel des Moduls an.

Angaben zur Konvertierungsart des XML-Dokuments

      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.

Angaben zur Konvertierungsart Liste mit Trennzeichen

      <RecordType>.fieldSeparator

Geben Sie das Feldtrennzeichen an, das zwischen den einzelnen Feldern eines Records geschrieben wird.

Die Angabe ist zwingend erforderlich.

Angaben zur Konvertierungsart Liste mit fester Spaltenbreite

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

Beispiel

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

Weitere Angaben

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

Verwenden von Sonderzeichen

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.

Beispiel

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.

Ende des Inhaltsbereichs