Kapitel 6

Umwandlung der gegeben Daten in SGML/XML-Form

In diesem Kapitel beschreibe ich die Schritte zur Umwandlung der gegebenen Texte über makroökonomische Modelle in eine für IP4W3 geeignete Form. Zentrale Bedeutung kommt dabei der strukturellen Analyse zu (Abschnitt 6.2), die zum Entwurf von Auszeichnungen für die Dokumente führte (Abschnitt 6.4).

6.1 Ausgangsdaten

Die gegebenen Texte wurden mit der Macintosh-Textverarbeitung WriteNow geschrieben. Da keine Informationen über das Dateiformat dieses Programms verfügbar waren33, wurde die Exportfunktion in das Rich Text Format (RTF) [MSFT94] benutzt.

Als erschwerend stellte sich heraus, daß ein großer Teil der Daten aus Grafiken bestand, die nach dem RTF-Epxort als Windows Metafile (WMF) in die Texte eingebettet waren. Dabei handelte es sich neben Abbildungen vor allem um komplexe mathematische Funktionen. Einfache Symbole wie Exponenten und Indizes waren hingegen durch Hoch- bzw. Tiefstellen von Textzeichen eingegeben worden.

Die Texte enthielten ausschließlich typografische und visuelle Auszeichnungen, jedoch keine Metadaten, die logische Informationen über Textabschnitte hätten liefern können.

6.2 Strukturelle Analyse

Die Analyse der gegebenen Texte wurde von mir anhand der gedruckten Bücher [UEBE92] und [UEBE95] durchgeführt. In den Dateien vorhandene Auszeichnungen trugen nicht zur Strukturierung und Auszeichnung der Texte bei. Das größte Problem bestand bei der Analyse darin, daß ich aufgrund des schwierigen und für mich weitgehend unverständlichen Inhalts nicht in der Lage war, den Inhalt so stark zu berücksichten, wie es sinnvoll gewesen wäre. Diese Arbeit kann nur mit einem guten Verständis des Textes geleistet werden. Ein weiteres Hindernis war, daß eine informelle Beschreibung von mathematischen Gleichungen, von Tabellen und von Grafiken fehlte. Soweit es die gedruckte Form betrifft, ist das auch selbstverständlich, da z.B. Grafiken das Verständnis bei einem fachkundigen Leser fördern und eine zusätzliche verbale Erläuterung meist nicht notwendig ist. Möchte man jedoch eine Begriffsuche etwa in Gleichungen durchführen, so ist eine solche Beschreibung unbedingt notwendig, da die Suche andernfalls beispielsweise schon an abweichenden Variablennamen scheitert. Beschreibungen dieser Art sollten nach Absprache mit dem Autor von ihm eingebracht werden. Zum gegenwärtigen Zeitpunkt ist das Textmaterial in dieser Hinsicht immer noch verbesserungswürdig. Die Folge ist, daß die Suche in Gleichungen momentan gar nicht möglich ist, beziehungsweise keine brauchbaren Ergebnisse liefert.

Bei meiner Analyse habe ich mich darauf konzentriert, die Struktur der Textes, d.h. die Elemente auf den höheren Hierarchieebenen, zu erkennen und Auszeichnungen sowie deren Abhängigkeiten zu definieren. Auf den tieferen Ebenen, also auf Block- und Zeichenebene, habe ich versucht, so viel Metainformation in die Auszeichnungen zu bringen, wie an der gedruckten Vorlage und mit begrenztem Verständnis möglich war. Die von mir vorgeschlagenen Auszeichnungen sind in tabellarischer Form im Abschnitt 6.4 zu finden.

Als abschließende Bewertung läßt sich zur Analyse folgendes sagen: Die Struktur des Textes läßt sich auch ohne Verständnis hinreichend gut erfassen. Zur Definition von Suchmustern und Atomen ist diese Strukturierung ausreichend, wie die Tests gezeigt haben. Die Auswahl der Zielelemente ist jedoch nach einer Auszeichnung ohne Textverständnis meiner Meinung nach nicht ausreichend. Der Qualitätssprung, der bei einer angemessenen Behandlung des Textes zu erwarten ist, läßt sich nur durch fachlich kompetente Annotationen erzielen. Dies gilt umso mehr bei fehlenden Informationen, wie den oben angesprochenen Gleichungsbeschreibungen.

6.3 Umwandlung

Wegen der fehlenden logischen Metadaten war eine automatische Konvertierung in SGML/XML nicht möglich. Nach der zuvor beschriebenen strukturellen Analyse habe ich Auszeichnungen festgelegt, die von einem Mitarbeiter des Autors, Herrn Götz Uebe, in den Text eingearbeitet wurden. Die so aufbereiteten Texte habe mit den enthaltenen Grafiken per RTF-Import in Word eingeladen.

Überraschenderweise erwies sich die Umwandlung der WMF-Grafiken als ein unerwartet großes Problem, da viele Programme dieses Format nur unzureichend unterstützen. Letzlich habe ich die Exportfunktion für die WWW-Ausgabe von Word benutzt. Da kein bekannter Web-Browser das Format WMF beherrscht, hatte ich die Hoffnung, daß Word eine Konvertierung durchführt. Tatsächlich liefert Word eine Ausgabe im Graphic Interchange Format (GIF), was von jedem graphischen Browser angezeigt wird.

Die manuell bearbeiteten Texte habe ich auf fehlerhafte Auszeichnungen hin untersucht. Einige Fehler ließen sich automatisch beheben, da sie in immer gleicher Form auftraten. Zu diesem Zweck habe ich die Programme sed und lynx zu Hilfe genommen34. In einem letzten Schritt habe ich verbliebene Fehler unter Verwendung eines SGML-Parsers und -Editors manuell entfernt. Zusammenfassend läßt sich sagen, daß der Prozeß der Umwandlung ein aufwendiger, aber unbedingt notwendiger Schritt war.

6.4 Auszeichnungen

Dieser Abschnitt enthält die Auszeichnungen, die ich zusammen mit einer Beschreibung für die Aufbereitung der Texte geschrieben habe. Im wesentlichen handelt es sich um drei Stufen: Struktur des Buches, Elemente auf Block- und Elemente auf Zeichenebene.

Buch-Struktur

<Buch> 
      <Titelei>, <Rumpf>, <Anhangteil> 
<Titelei> 
      enthält Vorwort usw. 
<Rumpf> 
      ein oder mehrere Kapitel 
<Anhangteil> 
      <AnhangKeywords>, <AnhangModelle>, 
      ggf. weitere <Kapitel> 
<Kapitel> 
      <Ueberschrift>, ein oder mehrere <Keywords>, 
      ggf. einleitender Textblock, ein oder mehrere
      <Abschnitte> 
<Abschnitt> 
      <Ueberschrift>, ggf. einleitender Textblock, 
      ein oder mehrere <Unterabschnitte> 
<Unterabschnitt> 
      <Ueberschrift>, ein oder mehrere Textbloecke 
<AnhangKeywords> 
      <KeywordEintrag> 
<AnhangModelle> 
      <ModellTabelle> 

Blöcke und Zeichenelemente
Innerhalb von (Unter-)Abschnitten ist der Text in Blöcke unterteilt. Sie zeichnen sich durch eine vertikale Abgrenzung aus (vertical flow). Beispiele für Blöcke sind Absätze, Tabellen, Definitionen, Abbildungen, Aufzählungen usw.

Innerhalb eines Blocks gibt es die feinste Strukturierung in Form von Zeichenelementen. Dies sind Elemente, die einzelne Worte, Sätze usw. markieren. Beispiele für Zeichenelemente sind Hervorhebungen, Keyword, Acronyme, Modellname, Zitate usw.

Die folgenden Tabellen nennen alle Blöcke und Zeichenelemente, aber auch Merkmale, an denen ein Textstück zu erkennen ist. Um das Verständnis zu verbessern, habe ich die Bedeutung einer Auszeichnung angegeben.

Tabelle 2: Blöcke
BlockInhaltBedeutungMerkmale im vorhandenen Material
<Blockzitat>Zeichenelementeabgesetztes, längeres Zitatabgesetztes, längeres Zitat
<Definition><DefUeberschrift>, Blöckemath. (o.ä.) Definitiondurch »Definition« eingeleitet
<Gleichungssystem><Gleichung> math. Gleichungen
<Gleichung>inhaltliche Beschreibung mit Keywords <Gleichungsbeschreibung>, Formel oder <Bild> mit einer Formel ggf. nebengestellte Zahl in runden Klammern
numerierte Liste <NL>Listenelemente <LE> numerierte Liste
unnumerierte Liste <UL>Listenelemente <LE> unnumerierte Liste mit Spiegelstrichen
Begriffsliste <BL>Begriffselemente <BE> und Begriffsbeschreibung <BB> Begriffe mit eingerückter Erklärung
<Tabelle>Tabellenzeilen <TR> mit Tabellenzellen <TH> und <TD> Tabelle
Bibliographie-Liste <BibListe>Liste von Bibliographie-Einträgen <BibEintrag> Liste von Bibliographie-Einträgen mit vorangestellter Ziffer in eckigen Klammern
Bibliographie-Eintrag <BibEintrag id="..."><Autor>, <Titel>, <Verlag>, <Jahr>Enthält einen Bibliographie-Eintrag, der mit einem eindeutigen Namen versehen ist (an Stelle der drei Punkte). Leider sind die Namen im Buch nicht eindeutig. Die dort verwendete Numerierung beginnt in jedem Kapitel bei 1. Es bietet sich deshalb an, den Buchnummern die Kapitelnummer voranzustellen, um einen eindeutigen Namen zu erhalten; z.B. <BibEintrag id="bib3.5"> (das fünfte Buch im dritten Kapitel)Bibliographie-Eintrag bestehend aus Autor, Titel, Verlag, Jahr
<Absatz>Zeichenelemente Absatz
<Illustration><Ueberschrift>, Block durch das Wort »Illustration« eingeleitet
<Abbildung id="..."><Bild>, <Bildtext>Eine Abbildung. An Stelle der drei Punkte wird ein eindeutiger Name des Bildes eingefügt, um später darauf verweisen zu können. Es bietet sich an, die Namen in der Form "fig1.2.3" zu bilden, wobei die erste Zahl das Kapitel, die zweite Zahl den Abschnitt und die dritte Zahl die Nummer der Abbildung bezeichnet.Abbildung
<Atom>BlöckeDient der Zusammenfassung von Blöcken, die in der späteren Ausgabe nicht getrennt werden sollen.noch nicht vorhanden
<KeywordEintrag><Keyword>, Keyword-Thema <KeyThema> (in 5 Sprachen), Keyword-Beschreibung <KeyBeschreibung> (in 5 Sprachen), ggf. weiterer Block mit Erläuterungen ein Eintrag aus dem Anhang 1
<ModellTabelle><Land>, Modell-Einträge <ModellEintrag> eine Tabelle aus dem Anhang 2
<ModellEintrag>Modell bestehend aus <No>, <Autor>, <Equ>, <Sto>, <Def>, <Mon>, <IO>, <Exo>, <Per>, <ModellFamilie> <Inuse> Tabellenzeile aus dem Anhang 2
<ModellFamilie>entweder <Autor> und/oder <Modelltyp> (ggf. mehrere) Letzte Spalte der Tabellen in Anhang 2
<Quelle>genau ein <BibEintrag> durch das Wort »Source« eingeleitet
Tabelle 3: Zeichenelemente
Zeichenelementggf. Bedeutung / BeschreibungMerkmale im vorhandenen Material
Hervorhebung <em>wichtige Textstellekursiv
Starke Hervorhebung <strong>besonders wichtige Textstellefett
<Fussnote>Anmerkunghochgestellte Nummer, Text am Seitenende
<Keyword> Wort in GROSSBUCHSTABEN
<KeyThema>Thema eines Keyword in 5 Sprachen: <de> <en> <fr> <es> <it>Eintrag in Anhang 1
<KeyBeschreibung>Beschreibung eines Keyword in 5 Sprachen: <de> <en> <fr> <es> <it>Eintrag in Anhang 1
<de> Text in Deutsch
<en> Text in Englisch
<fr> Text in Französisch
<es> Text in Spanisch
<it> Text in Italienisch
<BibRef idref="...">Verweis auf ein BuchZahl in eckigen Klammern
math. <Formel> math. Formeln im Fließtext (nicht in Gleichungen)
<Acronym> GROSSBUCHSTABEN
<Person>Name einer PersonName einer Person
<Land>Name eines LandesName eines Landes
<Zitat>Zitatin Anführungszeichen eingeschlossen
<Modellname>Name eines Modells?
<Modelltyp>Typ eines Modells: CGE IO LP M NLP SIM VARTyp eines Modells: CGE IO LP M NLP SIM VAR
<Querverweis idref="...">Querverweisfett, Nummer eines Abschnitts
<Gleichungsreferenz idref="...">Verweis auf eine GleichungNummer einer Gleichung in runden Klammern
<Modellreferenz idref="...">Stellt eine Querverbindung zu einer Modellbeschreibung im grünen Buch hernoch nicht vorhanden
<Ueberschrift>Überschrift eines Kapitels, eines Abschnittes usw.Überschrift
<UNBEKANNT>markiert eine Stelle im Text, die einer genaueren Bestimmung durch einen Experten bedarf 
<DefUeberschrift>Überschrift einer DefinitionIn runden Klammern hinter dem Wort »Definition«
<Bild> Bild, Zeichnung oder Formel ohne umgebende Beschreibung
<Bildtext> Text zu einer Abbildung
<Gleichungsbeschreibung>inhaltliche Beschreibung einer Gleichungnoch nicht vorhanden
Listenelemente <LE> Ein Element einer Liste
Begriffselement <BE> Begriff einer Begriffsliste
Begriffsbeschreibung <BB> Beschreibung eines <BE>
Tabellenzeile <TR> Tabellenzeile
Tabellenfeld mit Ueberschrift <TH> fett gedrucktes Tabellenfeld
normales Tabellenfeld <TD> normales Tabellenfeld
<Autor> Autor
<Buchtitel> Buchtitel
<Verlag> Verlag
<Jahr> Jahr
<bildref idref="...">Verweis auf ein Bild. An die Stelle der drei Punkte tritt der Name des Bildes (vgl. <Abbildung>)Verweis auf ein Bild.

6.5 DSSSL-Rumpf zur Transformation in HTML

Als Teil meiner Diplomarbeit habe ich ein DSSSL-Programm geschrieben, das Instanzen der Uebe-DTD in HTML transformiert. Es übernimmt innerhalb von IP4W3 die Rolle des DSSSL-Rumpfes. Ein Listing des DSSSL-Stylesheets ist in Abschnitt B.3 zu finden.


Anmerkungen
33Eine E-Mail an den Vertrieb ist bis heute unbeantwortet.
34Den »UNIX Power Tools« [PORL93] schulde ich in diesem Zusammenhang meinen Dank!

© Stefan Mintert
checked HTML4