13.07.2015 Aufrufe

ein generischer Ansatz zur Layout-Spezifikation - Lehr- und ...

ein generischer Ansatz zur Layout-Spezifikation - Lehr- und ...

ein generischer Ansatz zur Layout-Spezifikation - Lehr- und ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

3.3. <strong>Layout</strong>3.3. <strong>Layout</strong>In diesem Abschnitt werden die Daten in Inhalte von Präsentationen transformiert (siehe auch Abschnitt3.1.5.1). Das Mittel dazu ist der <strong>Layout</strong>baum. Er besteht aus Strukturierungsknoten <strong>und</strong> Textobjekt-Blättern<strong>und</strong> ist fortan die Datenstruktur, auf der alle Transformationen durchgeführt werden.Die Textobjekte all<strong>ein</strong>e reichen allerdings noch nicht aus, um die Inhalte genügend zu strukturieren:Die Textobjekte werden oft durch bestimmte Zeichenfolgen <strong>ein</strong>geleitet bzw. abgeschlossen. Und siewerden oftmals durch <strong>ein</strong>e Zeichenfolge von<strong>ein</strong>ander abgetrennt (z.B. durch <strong>ein</strong> <strong>ein</strong>zelnes Leerzeichenoder durch <strong>ein</strong> Komma gefolgt von <strong>ein</strong>em Leerzeichen etc.).Aus diesem Gr<strong>und</strong> werdem dem <strong>Layout</strong>baum in <strong>ein</strong>er weiteren Transformation Trenntexte hinzugefügt,die durch Regeln vorgegeben wurden.Gerade die Möglichkeit, diese Trenntexte angeben zu können, wird gegenüber dem imperativen Vorgehen(unter Verwendung von Druckanweisungen) als großer Vorzug der hier vorgestellten Vorgehensweiseangesehen. Mehr dazu im folgenden Abschnitt.3.3.1. Motivation des <strong>Layout</strong>baumesWill man aus Daten Präsentationen erzeugen, so bieten sich im Gr<strong>und</strong>e zwei Vorgehensweisen an: dieimperative <strong>und</strong> die deklarative.3.3.1.1. Imperative VorgehensweiseDie imperative Vorgehensweise erzeugt die Präsentation durch <strong>ein</strong>e Folge von Druckanweisungen.Sie ist für <strong>ein</strong>fache, nicht tief strukturierte Präsentationen schnell <strong>und</strong> <strong>ein</strong>fach zu implementieren.Abbildung 3.6 zeigt zwei beispielhafte Prozeduren in <strong>ein</strong>er Pseudosyntax, die <strong>ein</strong>e Veranstaltung ausgeben,Abbildung 3.7 zeigt <strong>ein</strong>e mögliche Präsentation, die durch wiederholte Aufrufe dieser Prozedurenerzeugt wird.Die zugehörige Datenquelle ist nicht angegeben, aber aus der Präsentation sollte man erkennen, wasin der Datenquelle repräsentiert ist. Eine XML-Darstellung der Datenquelle ist in Abbildung 5.1 zufinden.Die Prozeduren gehen davon aus, daß bei der imperativen Vorgehensweise jede Veranstaltung internin <strong>ein</strong>em Verb<strong>und</strong> (bzw. record oder structure) v repräsentiert ist. Um mit der Implementierungunabhängig von der späteren Zielsprache der Präsentation zu bleiben, werden Formatierungsanweisungen(wie z.B. <strong>ein</strong> Zeilenwechsel) im Beispiel über Funktionsaufrufe <strong>ein</strong>gefügt.3.3.1.1.1. Problemstellung Allerdings hat bereits dieses sehr <strong>ein</strong>fache Beispiel <strong>ein</strong>e Reihe vonFehlern, die auf den ersten Blick nicht so <strong>ein</strong>fach zu erkennen sind: Betrachtet man die letzte Zeileder Beispielpräsentation in Abbildung 3.7, so steht dort an erster Position <strong>ein</strong> Komma, das dort nichtersch<strong>ein</strong>en sollte. Daß dies trotzdem passieren konnte, liegt an <strong>ein</strong>er getroffenen Annahme bei derProgrammierung, nämlich, daß wenn <strong>ein</strong>e Bemerkung ausgegeben wird, immer <strong>ein</strong>e Dauer ausgegebenwird (das selbe Problem finden wir übrigens auch, wenn Sitzungen ausgegeben werden, ohne daß<strong>ein</strong>e Dauer vorhanden ist).27

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!