Kopf/Kapitel/Fuß |
Top Previous Next |
Bedienung > Hauptmenü > Menü: Hilfe > Assistenten > Neues Projekt Assistent > Kopf/Kapitel/Fuß
Eine häufige allgemeine Struktur von Texten ist die Unterteilung in einen Text-Kopf, einige Kapitel und einen Text-Fuß. In einem Buch z.B. wäre das Inhaltsverzeichnis der Kopf-Teil und das Sachverzeichnis der Fuß-Teil. Der hier beschriebene Assistent erzeugt einen Rahmen für eine solche Struktur. Für Kopf, Kapitel und Fuß werden jeweils eigene Produktionen erzeugt, die von der Startregel aufgerufen werden.
In die Kopf (Header)- und die Fuß (Footer) -Produktion wird zunächst nur das SKIP-Symbol eingesetzt. Die exakte Struktur dieser Teile muss von Hand geschrieben werden.
Für die Kapitel (Chapter) -Produktion ist es möglich, einige aufeinander folgende Token bereits im Assistenten zu definieren.
Die Eingabe der Werte in die Tabelle geschieht genauso wie bei den Tabellen anderer Assistenten.
Wenn das Token, mit dem die Kapitel-Produktion beginnt, eindeutig so spezifiziert ist, dass es nicht im Kopf-Teil vorkommen kann, so können mit dem vom Assistenten erstellten Rahmen bereits ausführbare Parser erzeugt sein.
Beispiel
Um die Schlüsselworte in einer HTML-Datei zu bearbeiten, kann man sich über signifikante Ausdrücke in der Datei bis zur gesuchten Stelle "durchhangeln".
Der verkürzte Anfang der Datei:
C:\TextTransformer\Beispiele\Assistenten\textkonverter.html
sieht wie folgt aus:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <meta name="GENERATOR" content="TextTransformer">
<META NAME="keywords" CONTENT="Text Konverter"> </HEAD> ...
Wenn eine Reihe von Token so definiert werden, wie im Bild dargestellt:
wird durch die Header-Produktion der Text bis zum Token "<HEAD>" übersprungen, dann wird der Ausdruck "\"keywords\"" gesucht, dann "CONTENT" und "=" und schließlich der gesuchte string gefunden. Mit der Footer-Produktion wird dann der Rest des Textes übersprungen.
Wird auf der nächsten Seite des Assistenten für die Aktionen die direkte Ausgabe gewählt, so erhält man nach Beendigung des Assistenten folgende Chapter-Produktion:
"<HEAD>" {{out << xState.copy(); }} ( SKIP {{out << xState.copy(); }} )? "CONTENT" {{out << xState.copy(); }} "=" {{out << xState.copy(); }} STRING {{out << xState.copy(); }}
Hier kann nun leicht die mit STRING verbundene Aktion den eigenen Wünschen gemäß geändert werden.
|
Diese Seite gehört zur TextTransformer Dokumentation |
Home Inhalt English |