Inhaltsverzeichnis

Search

  1. Vorwort
  2. Einführung in die Datenumwandlung
  3. Datenprozessor-Umwandlung
  4. Assistent für Eingabe- und Ausgabeformate
  5. Relationale Eingabe und Ausgabe
  6. Verwenden des IntelliScript-Editors
  7. XMap
  8. Bibliotheken
  9. Schema-Objekt
  10. Eingabeaufforderung
  11. Skripte
  12. Parser
  13. Skriptports
  14. Dokumentprozessoren
  15. Formate
  16. Datenbehälter
  17. Anker
  18. Transformer
  19. Aktionen
  20. Serializer
  21. Mapper
  22. Lokatoren, Schlüssel und Indexierung
  23. Streamer
  24. Validatoren, Benachrichtigungen und Fehlerbehandlung
  25. Validierungsregeln
  26. Benutzerdefinierte Skriptkomponenten

Benutzerhandbuch

Benutzerhandbuch

RepeatingGroup

RepeatingGroup

Der
RepeatingGroup
-Anker parst einen Bereich, der sich wiederholende Segmente enthält. Jedes Segment wird als Iteration bezeichnet und kann durch einen
Separator
begrenzt werden. Der
RepeatingGroup
-Anker enthält eine Folge geschachtelter Anker und bzw. Aktionen, die die einzelnen Iterationen auf dieselbe Weise parsen.
Die nachstehende Tabelle beschreibt die Eigenschaften des Ankers
RepeatingGroup
:
Eigenschaft
Beschreibung
count
Definiert eine Anzahl oder einen Datenbehälter, der die auszuführende Anzahl der Iterationen enthält. Wenn diese Eigenschaft leer bleibt, werden die Iterationen so lange fortgesetzt, bis der Suchbereich ausgeschöpft ist.
Bei
count
= 0 sucht die
RepeatingGroup
nicht nach Iterationen. In diesem Fall wird die
RepeatingGroup
zwar erfolgreich ausgeführt, erzeugt jedoch keine Ausgabe.
current_iteration
Definiert einen Datenbehälter, in den die
RepeatingGroup
die Nummer der aktuellen Iteration ausgibt.
disabled
Legt fest, ob die Komponente und alle zugehörigen untergeordneten Komponenten vom Skript ignoriert werden. Verwenden Sie diese Eigenschaft zum Testen, Debuggen und Ändern eines Skripts. Sie können eine der folgenden Optionen auswählen:
  • Ausgewählt. Das Skript ignoriert die Komponente.
  • Gelöscht. Das Skript wendet die Komponente an.
Standardmäßig ist die Eigenschaft deaktiviert.
iteration_order
Definiert die Reihenfolge, in der die Iterationen verarbeitet werden. Sie können eine der folgenden Optionen auswählen:
  • Von oben nach unten. Die Iterationen werden in der Reihenfolge verarbeitet, die im Skript definiert ist.
  • Von unten nach oben. Die Iterationen werden in umgekehrter Reihenfolge verarbeitet. Verwenden Sie diese Option, wenn Daten aus einer späteren Iteration Auswirkungen auf die Verarbeitung einer früheren Iteration haben.
marking
Legt fest, ob ein Anker als Anfang des Suchbereichs für den danach folgenden Anker verwendet wird. Sie können eine der folgenden Optionen auswählen:
  • Anfangsposition. Setzt einen Referenzpunkt vor dem aktuellen Anker.
  • Endposition. Setzt einen Referenzpunkt hinter dem aktuellen Anker.
  • Vollständig. Setzt einen Referenzpunkt vor und hinter dem aktuellen Anker.
  • Keine. Es wird kein Referenzpunkt erstellt.
Weitere Informationen hierzu finden Sie unter So sucht der Parser Anker.
name
Eine beschreibende Kennzeichnung für die Komponente. Diese Kennzeichnung wird in der Protokolldatei sowie der
Ereignisansicht
angezeigt. Ermitteln Sie anhand der Eigenschaft
name
, welche Komponente das Ereignis verursacht hat.
no_initial_phase
Legt fest, ob das Skript nach geschachtelten Ankern in der Hauptphase sucht. Sie können eine der folgenden Optionen auswählen:
  • Gelöscht. Es erfolgt eine Suche nach geschachtelten Ankern entsprechend ihren individuellen Eigenschaften.
  • Ausgewählt. Es erfolgt eine Suche nach geschachtelten Ankern in der Hauptphase.
Die Standardoption lautet „Gelöscht“.
Benachrichtigungen
Eine Liste mit
NotificationHandler
-Komponenten, die Benachrichtigungen aus geschachtelten Komponenten verarbeiten. Weitere Informationen hierzu finden Sie unter Benachrichtigungen.
on_fail
Die Aktion, die beim Ausfall der Komponente durchgeführt wird. Sie können eine der folgenden Optionen auswählen:
  • Gelöscht. Es wird keine Aktion ausgeführt.
  • CustomLog. Es wird in das Benutzerprotokoll geschrieben.
  • LogError. Eine Fehlermeldung wird in das Engine-Protokoll geschrieben.
  • LogInfo. Eine Informationsmeldung wird in das Engine-Protokoll geschrieben.
  • LogWarning. Eine Warnmeldung wird in das Engine-Protokoll geschrieben.
  • NotifyFailure. Eine Mitteilung wird gesendet.
Die Standardoption lautet „Gelöscht“. Weitere Informationen über die Behandlung von Komponentenfehlern finden Sie in Fehlerbehandlung.
on_iteration_fail
Definiert die Aktion, wenn eine einzelne Iteration fehlschlägt. Sie können eine der folgenden Optionen auswählen:
  • Gelöscht. Keine Aktion.
  • CustomLog. Schreibt in das Benutzerprotokoll.
  • LogError. Schreibt eine Fehlermeldung in das Engine-Protokoll.
  • LogInfo. Schreibt eine Informationsmeldung in das Engine-Protokoll.
  • LogWarning. Schreibt eine Warnmeldung in das Engine-Protokoll.
  • NotifyFailure. Löst eine Benachrichtigung aus.
Verwenden Sie die Eigenschaft
on_fail
zum Schreiben eines Eintrags, wenn die gesamte
RepeatingGroup
fehlschlägt. Weitere Informationen hierzu finden Sie unter Fehlerbehandlung.
on_partial_match
Definiert das Verhalten, wenn einige, aber nicht alle der unter der
RepeatingGroup
geschachtelten Anker in der Eingabe erscheinen. Die Eigenschaft
on_partial_match
hat folgende Optionen:
  • Fehlschlag. Die Iteration schlägt fehl.
  • Überspringen.
    RepeatingGroup
    entfernt den Bereich, der von erfolgreichen geschachtelten Ankern abgedeckt wird, aus dem Suchbereich und versucht, alle geschachtelten Anker erneut zu finden. Die Prozedur des Ausschließens und erneuten Suchens wird so lange wiederholt, bis die Iteration erfolgreich verläuft oder keine weitere teilweise Übereinstimmung mehr vorhanden ist. Wenn keine Teilübereinstimmung vorliegt, schlägt die Iteration fehl.
optional
Legt fest, ob ein Komponentenfehler den Ausfall der übergeordneten Komponente verursacht. Sie können eine der folgenden Optionen auswählen:
  • Ausgewählt. Ein Komponentenfehler führt nicht zum Ausfall der übergeordneten Komponente.
  • Gelöscht. Ein Komponentenfehler verursacht den Ausfall der übergeordneten Komponente.
Standardwert ist "Gelöscht". Weitere Informationen über Komponentenfehler finden Sie in Fehlerbehandlung.
phase
Legt den Zeitpunkt fest, an dem das Skript die Komponente verarbeitet. Sie können eine der folgenden Optionen auswählen:
  • Anfangsphase. Das Skript verarbeitet die Komponente während der Anfangsphase.
  • Hauptphase. Das Skript verarbeitet die Komponente während der Hauptphase.
  • Endphase. Das Skript verarbeitet die Komponente während der Endphase.
Weitere Informationen hierzu finden Sie unter So sucht der Parser Anker.
Standardwert ist "Hauptphase".
remark
Ein benutzerdefinierter Kommentar, der den Zweck oder die Aktion der Komponente beschreibt.
search_order
Definiert die Reihenfolge der Verarbeitung der geschachtelten Anker in jeder Iteration. Sie können eine der folgenden Optionen auswählen:
  • Von oben nach unten. Die geschachtelten Anker werden in der Reihenfolge verarbeitet, die im Skript definiert ist.
  • Von unten nach oben. Die geschachtelten Anker werden in umgekehrter Reihenfolge verarbeitet. Wählen Sie diese Option, wenn Daten aus einem späteren Anker Auswirkungen auf die Verarbeitung eines früheren Ankers haben.
separator
Definiert einen Anker, der die Abschnitte voneinander trennt.
Wenn Sie die Eigenschaft
separator
leer lassen, sucht der
RepeatingGroup
-Anker zwischen den Iterationen nicht nach einem Delimiter. Stattdessen geht er davon aus, dass eine Iteration abgeschlossen ist, wenn er alle geschachtelten Anker gefunden hat. Anschließend parst er die nächste Iteration vom oberen Ende der Folge geschachtelter Anker aus.
Sie können ein komplexes Trennzeichen erstellen, indem Sie in die Eigenschaft
separator
eine
Group
anstelle eines
Marker
einfügen.
separator_position
Definiert die Positionierung des
Trennzeichens
relativ zu den Abschnitten. Sie können eine der folgenden Optionen auswählen:
  • Nachher. Ein Trennzeichen steht nach jedem Abschnitt, auch nach dem letzten. Beispiel:
    1|2|3|4|
  • Um. Ein Trennzeichen steht vor und nach jedem Abschnitt, auch vor dem ersten und nach dem letzten Abschnitt. Beispiel:
    |1|2|3|4|
  • Vorher. Ein Trennzeichen steht vor jedem Abschnitt, auch vor dem ersten. Beispiel:
    |1|2|3|4
  • Zwischen. Ein Trennzeichen steht jeweils zwischen aufeinander folgenden Abschnitten, jedoch nicht vor dem ersten und nach dem letzten Abschnitt. Beispiel:
    1|2|3|4
skip_failed_iterations
Legt fest, ob fehlgeschlagene Iterationen übersprungen werden. Sie können eine der folgenden Optionen auswählen:
  • Ausgewählt.
    RepeatingGroup
    überspringt eine fehlgeschlagene Iteration und fährt mit der nächsten Iteration fort. Wenn eine Iteration erfolgreich ist, ist auch
    RepeatingGroup
    .
  • Gelöscht.
    RepeatingGroup
    schlägt fehl, wenn eine Iteration fehlschlägt.
Die Eigenschaft
skip_failed_iterations
hat nur dann einen Effekt, wenn
separator
definiert ist.
Standardwert ist "Ausgewählt".
source
Definiert eine Sequenz von Datenbehältern für die Eingabe in
RepeatingGroup
. Jeder Datenbehälter wird durch eine der folgenden Eigenschaften ausgewiesen:
  • Locator. Identifiziert einen Einzel- oder Mehrfachinstanz-Datenbehälter. Bei Mehrfachinstanz-Datenbehältern greift jede Iteration auf eine neue Instanz zu.
  • LocatorByKey. Identifiziert einen Einzelinstanz-Datenbehälter nach Schlüssel.
  • LocatorByOccurence. Identifiziert einen Mehrinstanz-Datenbehälter nach Sequenznummer.
Verwenden Sie die Eigenschaft
source
, wenn die
RepeatingGroup
von einer anderen Komponente aufgerufen wird. Weitere Informationen hierzu finden Sie unter Eigenschaft „source“.
target
Definiert eine Sequenz von Datenbehältern für die Ausgabe aus dem
RepeatingGroup
. Wenn der Datenbehälter noch nicht existiert, wird er erzeugt. Jeder Datenbehälter wird durch eine der folgenden Eigenschaften ausgewiesen:
  • Locator. Identifiziert einen Einzel- oder Mehrfachinstanz-Datenbehälter. Bei Mehrfachinstanz-Datenbehältern erstellt jede Iteration eine neue Instanz.
  • LocatorByKey. Identifiziert einen Einzelinstanz-Datenbehälter nach Schlüssel.
  • LocatorByOccurence. Identifiziert einen Mehrinstanz-Datenbehälter nach Sequenznummer.
Verwenden Sie die Eigenschaft
target
, wenn die Ausgabe von
RepeatingGroup
von einer anderen Komponente benutzt wird. Weitere Informationen hierzu finden Sie unter Eigenschaft „target“.
Um einen Bereich von Abschnitten zu parsen, die eine andere Verarbeitung benötigen, verwenden Sie einen
DelimitedSections
-Anker.