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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

3. Präsentations-Erzeugungsprozeß3.3.2. Generierung des <strong>Layout</strong>baumsDer <strong>Layout</strong>baum entsteht anhand <strong>ein</strong>es Prozessors, der auf den Daten die durch den <strong>Layout</strong>beschreibungsbaumbeschriebenen Transformationen ausführt (siehe vorangegangener Abschnitt). Der <strong>Layout</strong>baumsieht im Prinzip aus wie der <strong>Layout</strong>beschreibungsbaum, nur daß die Selektoren an s<strong>ein</strong>enBlättern durch die tatsächlichen Werte ersetzt wurden (der Typ des Inhalts der Blätter ändert sich indiesem Fall natürlich auch auf Text) <strong>und</strong> die Multiplizitäten aufgelöst wurden. Abbildung 3.8 zeigt<strong>ein</strong> Beispiel <strong>ein</strong>es <strong>Layout</strong>baums, der aus dem <strong>Layout</strong>beschreibungsbaum in Abbildung 3.9 entsteht,wenn die gleichen Daten wie in Abbildung 3.7 vorausgesetzt werden.3.3.3. Aufbereitung des <strong>Layout</strong>baumsAnalog zu den Prozessoren für die Aufbereitung der Daten in Abschnitt 3.2.2 werden nun hier typischeProzessoren vorgestellt, die den <strong>Layout</strong>baum aufbereiten; dies sind Prozessoren zu Pruning <strong>und</strong>Anwendung des Distributivgesetzes.3.3.3.1. PruningBei der Erzeugung des <strong>Layout</strong>baumes können leere Teilbäume entstehen, also Teilbäume, die k<strong>ein</strong>eDaten enthalten. Sie werden mit diesem Prozessor entfernt.Dabei ist zu unterscheiden in Blätter, die k<strong>ein</strong>e Daten enthalten, <strong>und</strong> Blätter, die leere Daten enthalten.Bei <strong>ein</strong>em Blatt mit leeren Daten wurde bei der Datenerfassung bewußt <strong>ein</strong> leeres Datum <strong>ein</strong>gegeben,z.B. <strong>ein</strong>e Adresse, die k<strong>ein</strong>e Hausnummer besitzt. Bei <strong>ein</strong>em Blatt ohne Daten fehlt diese Informationnoch.In den Beispielen entstehen unter dem Knoten mit der Bezeichnung Benennung zunächst zweiTeilbäume mit den Wurzeln Titel <strong>und</strong> Bereiche. Letzterer ist aber im Fall der Veranstaltungmit dem Titel ”Informatik 1“ leer, so daß dieser Teilbaum beim Pruning entfernt wird. Abbildung 3.8zeigt also tatsächlich nicht den <strong>Layout</strong>baum, der direkt nach s<strong>ein</strong>er Generierung entsteht, sondern dieAusgabe des Pruning-Prozessors, der diesen ersten <strong>Layout</strong>baum als Eingabe erhalten hat.3.3.3.2. Umordnungen von TextobjektenDurch die Baumstruktur des <strong>Layout</strong>s können <strong>ein</strong>ige interessante Umordnungen von Textobjektendurchgeführt werden, die bei <strong>ein</strong>em imperativen <strong>Ansatz</strong> nur sehr umständlich durchzuführen wären.3.3.3.2.1. Distributivgesetz auf Knoten Betrachtet man in Abbildung 3.4(a) oder 3.7 die Angabeder Dienstags- <strong>und</strong> Donnerstagssitzungen, so fällt auf, daß die Hörsaalangabe nur <strong>ein</strong> <strong>ein</strong>zigesMal erfolgt, da beide Sitzungen im gleichen Hörsaal stattfinden. Diese Art von Verkürzung ist beiderartigen Veranstaltungslisten sehr gebräuchlich.Sie läßt sich durch <strong>ein</strong>e <strong>ein</strong>fache Transformationsregel modellieren (siehe Abbildung 3.10).Mathematisch gesehen ist dies <strong>ein</strong>fach die Anwendung des Distributivgesetzes auf die Knoten Zeit<strong>und</strong> Ort.32

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!