Home UDO und HTML Grafikbefehle Nachteile von UDO
 UDO - Eine kleine Einführung
 UDO und HTML

2.7 raw-Umgebungen

Wir haben also gesehen, daß UDO nicht immer alle Kommandos der Zielformate beherrscht. Das macht sich besonders bei einigen HTML-Eigenschaften bemerkbar.

Desweiteren haben wir gesehen, daß man sich mit Hilfe von Definitionen eigene UDO-Befehle schreiben kann, um derartige Mankos auszugleichen.

Was aber, wenn das gewünschte Ziel nicht auf diese Weise zu erreichen ist (s. Tabellen in HTML) oder wenn man für eine einmalige Situation keine Definition schreiben möchte?

Ich habe bereits im Kapitel "UDO im Allgemeinen" angedeutet, daß es auch dafür eine Lösung gibt: Man schreibt die gewünschte Befehlsfolge direkt im gewünschten Zielformat und bindet sie innerhalb einer sog. raw-Umgebung in das UDO-Dokument ein.

Nehmen wir als Beispiel wieder die Unfähigkeit von UDO, beim HTML-Export Inline-Bilder mit den Attributen ALIGN=TOP oder =MIDDLE einzubinden. Diesmal haben wir uns allerdings keine entsprechende Definition geschrieben. Also setzen wir den gewünschten HTML-Befehl direkt in das UDO-Dokument. Dabei müssen wir UDO natürlich auch mitteilen, daß es sich um einen "Fremdbefehl" handelt, der ohne Änderung in die Zieldatei geschrieben werden soll:

  (!raw [html] [<IMG SRC="bild.gif" alt="Ein Bild" ALIGN=TOP>)

Also: Mit !raw öffnen wir die raw-Umgebung. In den ersten eckigen Klammern steht das Zielformat, für das die Befehlsfolge gültig sein soll, und in den zweiten finden wir die Befehlsfolge selbst. Dann folgt noch die schließende runde Klammer: Die raw-Umgebung wird geschlossen.


Eine derartige raw-Umgebung darf aber max. eine Zeile lang sein. Nun habe ich aber auch erwähnt, daß man Tabellen u.U. besser direkt in HTML schreiben sollte kann. Und eine komplette Tabelle ist wohl kaum in eine Textzeile. Was ist also zu tun?

Ganz abgesehen davon, daß man über !begin_/end_raw auch mehrzeilige raw-Umgebungen anlegen kann - erinnern wir uns an den !include-Befehl, mit dem komplette Dateien einbinden kann. Davon gibt es noch eine spezielle Variante, mit der man die gesamte eingebundene Datei zu einer raw-Umgebung erklärt:

!rinclude tabelle.htm

Alles, was in der Datei TABELLE.HTM enthalten ist, wird beim Export also 1:1 übernommen. Der Unterschied zur bereits vorgestellten verbatim-Umgebung besteht darin, daß Text in einer verbatim-Umgebung 1:1 dargestellt wird. Sie dient also der Darstellung eines vorformatierten Textes, während die raw-Umgebung für die Einbindung spezieller Formatbefehle gedacht ist. Nur der Vollständigkeit halber sei hier erwähnt, daß es auch den Befehl !vinclude gibt, mit dem man komplette Dateien als verbatim-Umgebung einbindet (bspw. für Quelltextbeispiele).

Eine besondere Form der raw-Umgebungen stellen die Befehle !use_raw_header und !use_raw_footer dar: Hiermit lassen sich Dateien im HTML-Format anmelden, die für Kopf- und Fußtext einer HTML-Seite verwendet werden. Somit kann man UDO-erstellten Dokumenten ein neues Layout aufzwingen, das UDO mit eigenen Mitteln nicht erstellen könnte.



Mit Hilfe der raw-Umgebungen läßt sich also alles realisieren, was UDO von sich aus nicht kann. Das setzt natürlich voraus, daß man das Zielformat - im Beispiel HTML - auch beherrscht, um die entsprechenden Befehlsfolgen auch schreiben zu können. Das dürfte aber gerade bei HTML kaum eine Schwierigkeit darstellen: Erstens gibt es etliche Bücher zum Thema; und zweitens kann man auch andere Programme zur Hilfe nehmen, mit denen man z.B. auf bequeme Weise Tabellen erstellen und dann im HTML-Format exportieren kann.

Wichtig: Dabei sollte man beachten, daß man nicht eine komplette HTML-Datei mittels !rinclude einbindet! Schließlich verfügen auch HTML-Dateien über einen Vorspann, der an dieser Stelle nur stören würde. Wenn man also eine HTML-Tabelle "rawincluden" will, sollte die Datei mit dem <TABLE>-Tag beginnen!
Ebenso muß man bei der Verwendung von !use_raw_header berücksichtigen, daß der Inhalt der angegenen Datei erst hinter dem HTML-Header eingefügt wird (für HTML-Kenner: direkt nach dem <BODY>-Tag bzw. direkt vor </BODY> bei !use_raw_footer).
 

Nun könnte man argumentieren: "Aber wieso soll ich dann überhaupt die UDO-Syntax erlernen? Wenn ich gewisse Teile des Dokumentes direkt in HTML schreiben und somit die entsprechenden Befehle lernen muß, dann kann ich doch gleich alles in HTML machen und ganz auf UDO verzichten!"

Nun, abgesehen davon, daß man die HTML-Befehle eben nicht lernen muß, wenn man auf HTML-exportierende Programme zurückgreift, braucht man im Zweifelsfalle ja auch nur genau die HTML-Befehle zu erlernen, die UDO nicht unterstützt.


Noch mehr Argumente, die für UDO sprechen, findet Ihr im Abschnitt
Fazit zum HTML-Export


Copyright © tobias@udo-open-source.de
Letzte Aktualisierung am 15. März 2001

Home UDO und HTML Grafikbefehle Nachteile von UDO