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.

5.4. Vergleich der Werkzeuge am Beispiel des Prozessors <strong>zur</strong> Erzeugung des <strong>Layout</strong>baums5.4.2. fxtWas im vorangeganenen Abschnitt zu XSLT über die direkte Formulierung <strong>ein</strong>es <strong>Layout</strong>beschreibungsbaumesgesagt wurde, gilt ebenso für fxt, da fxt <strong>ein</strong>en ähnlichen regelbasierten <strong>Ansatz</strong> besitzt.Leider kennt fxt k<strong>ein</strong>e Namespace Aliase, so daß zu erzeugende Regeln umständlich mit Elementendefiniert werden müssen, die berechnete Elemente oder Attribute erzeugen. (Ein ähnliches Konzeptbietet XSLT übrigens ebenfalls an.) Das Beispiel aus dem XSLT-Abschnitt würde sich dann so schreiben:xyz...Es ist zwar in diesem Fall nicht viel länger, aber um <strong>ein</strong>iges schwerer zu lesen. Zumal fxt noch <strong>ein</strong>eTypkonvertierung in das interne Vector-Format erfordert.Für das verschränkte Einfügen von Strukturierungsknoten <strong>und</strong> Regeln gibt es in fxt <strong>ein</strong> ganz anderesKonzept als in XSLT: Globale Variablen mit Kellerprinzip (push <strong>und</strong> pop von Werten), deren Werteauch Wälder s<strong>ein</strong> können <strong>und</strong> die (anders als in XSLT) geändert werden können. Damit reduzierensich die mehreren Durchläufe von XSLT auf <strong>ein</strong>en <strong>ein</strong>zigen, der folgendermaßen abläuft:1. Die Strukturierungsknoten des <strong>Layout</strong>beschreibungsbaumes werden rekursiv durchlaufen,2. für das Wurzelelement <strong>und</strong> jeden iterierten Strukturierungsknoten wird<strong>ein</strong>e neue Regel erzeugt, deren Inhalte durch den fortgesetzten Durchlauf gebildet werden,diese Regel in <strong>ein</strong>e globale Variable <strong>ein</strong>gefügt <strong>und</strong><strong>ein</strong> Element erzeugt, das diese Regel aufruft,3. für jeden <strong>ein</strong>fachen Strukturierungsknoten <strong>und</strong> jedes Blatt wird <strong>ein</strong>fach <strong>ein</strong> entsprechendes Elementerzeugt <strong>und</strong>, wenn Kindknoten vorhanden sind, mit dem Durchlauf fortgefahren.4. Zuletzt werden die erzeugten Regeln in das Zieldokument <strong>ein</strong>gefügt.75

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!