Altova MapForce 2024 Enterprise Edition

ic-fl-switch

 

Mit Hilfe der Option "Aufteilen" können Sie für ein einzelnes Textfragment mehrere Schlüsselwörter oder Bedingungen definieren. Für jedes Schlüsselwort, das Sie definieren, gibt es einen eigenen Container, in dem die Daten nur dann abgelegt werden, wenn eine bestimmte Bedingung zutrifft, also "true" ist. Wenn keiner der Bedingungen zutrifft, so wird das jeweilige Fragment in einem "Standardcontainer" abgelegt.

 

Die Standardeinstellungen für den Container sind:

 

Output:        für die erste Auslösebedingung.

 

Im Beispiel unten wird eine Tomcat-Log-Datei verarbeitet, in der die einzelnen Prozesse herausgetrennt werden sollen, damit sie gemappt werden können. Wenn Sie einen "Aufteilen"-Container zum ersten Mal definieren, erscheint rechts neben dem "Aufteilen"-Container nur der Standardcontainer. Alle Daten werden automatisch an diesen Container übergeben.

 

fl-switch1

 

Im "Mehrmals trennen"-Container werden unter Verwendung der Option "getrennt (zeilenbasiert)" alle INFO-Abschnitte aus der Log-Datei herausgetrennt und an den "Aufteilen"-Container übergeben.

 

1. Klicken Sie auf das Symbol "Anhängen" ic-fl-append, um eine neue Bedingung zum "Aufteilen"-Container hinzuzufügen.
2. Doppelklicken Sie auf das Feld rechts neben "Inhalt beginnt mit" geben Sie "Initializ" ein und drücken Sie die Eingabetaste.

 

fl-switch1a

 

Es wird ein neuer Container hinzugefügt. Wenn die Bedingung zutrifft, also "true" ist, werden die Daten an diesen Container übergeben. Wenn nicht, werden sie an den Standard-Container übergeben.

3.Klicken Sie auf das Listenfeld "Inhalt beginnt mit" und ändern Sie den Eintrag in "Inhalt enthält".

Die erste Bedingung wurde nun definiert und Sie sehen das Resultat unten.

Das erste Fragment enthält "Initializ" nicht, daher wird der Inhalt an den Standard-Container übergeben.

 

fl-switch2

 

4.Klicken Sie auf das Symbol "Nächsten Block anzeigen" ic-flex-next, um das nächste Textfragment zu sehen.

 

fl-switch3

 

Das Fragment "Initializing..." erscheint nun im dazugehörigen Container und der Standardcontainer ist leer. Wenn Sie die Fragmente der Reihe nach anzeigen, sehen Sie, was die einzelnen Container enthalten werden.

5.Klicken Sie auf das Containersymbol und wählen Sie den Befehl Als Wert speichern.
fl-switch4a
6.Doppelklicken Sie auf die Titelleiste "Speichern" und ändern Sie den Text z.B. Initialize.

 

fl-switch4

 

7.Klicken Sie auf das Symbol "Anhängen" ic-fl-append, um eine neue Bedingung zum "Aufteilen"-Container hinzuzufügen.
8. Doppelklicken Sie in das Feld neben "Inhalt beginnt mit", geben Sie den Text "Starting" ein und drücken Sie die Eingabetaste.

Sie können beliebig viele Bedingungen hinzufügen, z.B. Pausing und Stopping.

Geben Sie jedem der dazugehörigen Container einen Namen, um sie in MapForce leichter unterscheiden zu können.

 

fl-switch5

 

Im obigen Screenshot sehen Sie alle vier Bedingungen und den Inhalt des "Starting"-Containers bei Block/Fragment Nr. 6. Die entsprechenden Container wurden alle umbenannt, um sie in MapForce besser unterscheiden zu können.

 

Beachten Sie, dass die Bedingungen in der Liste der Bedingungen mit Hilfe der entsprechenden Schaltflächen (Nach oben/Nach unten ic-fl-movup bzw. ic-fl-movdw) nach oben oder nach unten verschoben werden können.

 

9.Speichern Sie die Vorlage und fügen Sie sie in MapForce ein.

 

fl-switch6        

 

Anmerkung

Wenn ein Textfragment im aktuellen Fragment eine Bedingung erfüllt, so werden alle Daten dieses Fragments an den dazugehörigen Container übergeben. Die Daten werden nicht getrennt, sondern nur in den entsprechenden Container bzw. - wenn keine der definierten Bedingungen zutrifft - in den Standardcontainer geroutet.

 

Die mit "Aufteilen" erzeugten Container können für die weitere Verarbeitung verwendet werden. Sie können einen solchen Container in "Einmal trennen", "Mehrmals trennen" oder eine beliebige andere Option ändern.

 

Inhalt beginnt mit:

Die Daten werden nur dann an den dazugehörigen Container übergeben, wenn die in der Bedingung definierte Zeichenfolge am Anfang des Textfragments vorkommt.

 

Inhalt enthält:

Die Daten werden an den dazugehörigen Container übergeben, wenn die in der Bedingung definierte Zeichenfolge an einer beliebigen Stelle im Textfragment vorkommt.

 

Für die erste Auslösebedingung:

Die Daten werden übergeben, wenn eine der Bedingungen in der Bedingungsliste true ist. Alle anderen Bedingungen, die "true" sind, werden ignoriert und es werden keine Daten an einen der dazugehörigen Container übergeben.

 

Für alle Auslösebedingungen:

Es werden für jede Bedingung in der Bedingungsliste, die "true" ist, Daten übergeben. Auf diese Art wird es möglich, dass mehrere Instanzen derselben Daten/desselben Fragments in mehreren verknüpften Containern gleichzeitig vorkommen. Dies kann vorkommen, wenn ein Textfragment Text enthält, der gleichzeitig zwei Bedingungen erfüllt z.B. "initializing starting sequence" im obigen Beispiel.

 

© 2017-2023 Altova GmbH