Aktionen |
Top Previous Next |
Bedienung > Hauptmenü > Menü: Hilfe > Assistenten > Neues Projekt Assistent > Aktionen
Für die vom Assistenten erzeugten Parser können automatisch Aktionen generiert werden, die zumeist darin bestehen, den jeweils erkannten Text zu kopieren. Diese Aktionen können dann mit wenig Arbeit so modifiziert werden, dass der Ausgabetext die gewünschte Form erhält.
Direkte Ausgabe
Für jedes Token wird eine Aktion erzeugt, die den erkannten Text-Abschnitt samt den ausgelassenen Zeichen direkt in die Ausgabe schreibt. Z.B.:
Token1 {{ out << xState.copy();}} Token2 {{ out << xState.copy();}}
Das direkte Schreiben in die Ausgabe ist die effizienteste Art den Text zu verarbeiten und sollte daher, wenn möglich, gewählt werden. Die Reihenfolge der Text-Abschnitte bleibt dabei allerdings unverändert.
In String-Variable schreiben
Für jedes Token wird eine Aktion erzeugt, die den erkannten Text-Abschnitt samt den ausgelassenen Zeichen in eine String-Variable schreibt. Z.B.:
Token1 {{ s1 = xState.copy();}} Token2 {{ s2 = xState.copy();}}
Hier werden die erkannten Text-Abschnitte dupliziert, können dann aber in beliebiger Reihenfolge ausgegeben werden. Z.B.:
out << s2 << s1;
Parse-Baum erzeugen
Für jedes Token wird eine Aktion erzeugt, die den erkannten Text-Abschnitt samt den ausgelassenen Zeichen in eine Knoten-Variable schreibt. Z.B.:
Token1 {{ nRule.add("Token1", xState.copy());}} Token2 {{ nRule.add("Token2", xState.copy());}}
Ein Parse-Baum erlaubt eine vielseitige und mehrfache Weiterverarbeitung seiner Knoten. Jedoch ist es nicht trivial korrekte Routinen für diese Verarbeitung zu schreiben.
DOM erzeugen
Mit dieser Option wird wie oben ein Parse-Baum erzeugt, aber aus dnode's statt aus node's. Damit wird ein XML-Dokument erzeugt, das schließlich in die Ausgabe geschrieben wird.
Keine Aktionen
Wenn nur ein kleiner Teil des erkannten Textes ausgegeben werden soll, oder wenn obige Methoden miteinander kombiniert werden sollen, so empfiehlt es sich, den Code für die Aktionen von Hand zu schreiben. |
Diese Seite gehört zur TextTransformer Dokumentation |
Home Inhalt English |