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. Prototypische Implementierung PEPTemplate Transformiert <strong>ein</strong>en <strong>Layout</strong>baum gemäß <strong>ein</strong>em in PEP © ¢¡¤© formulierten Template in<strong>ein</strong>en neuen <strong>Layout</strong>baum.Flatten Transformiert <strong>ein</strong>en Eingabebaum in <strong>ein</strong>en Baum der Tiefe 1, der nur noch das Wurzelelement<strong>und</strong> die Blätter des <strong>Layout</strong>baumes enthält.Generische Ausdrücke Übersetzt generische Ausdrücke des Eingabebaums in unterschiedlicheZielsprachen. Die Zielsprache wird durch <strong>ein</strong>en Kommandozeilenparameter (html, latex, . . . )ausgewählt. Die Regeln für die Übersetzung sind in ¤¢¡ ¤£¦¥ PEP formuliert.Serialisierung Transformiert <strong>ein</strong>en Eingabebaum in <strong>ein</strong>e Zeichenkette mit den konkatenierten Wertenaller Blätter.Pretty printing Transformiert <strong>ein</strong>en Eingabebaum in <strong>ein</strong>en gleichen, aber neu formatierten Baum.5.4. Vergleich der Werkzeuge am Beispiel des Prozessors <strong>zur</strong>Erzeugung des <strong>Layout</strong>baumsUm die unterschiedlichen Werkzeuge vergleichen zu können, wurde der Prozessor <strong>zur</strong> Erzeugung des<strong>Layout</strong>baums jeweils für die <strong>ein</strong>zelnen Werkzeuge implementiert. Daß genau dieser Prozessor fürden Vergleich herangezogen wurde, lag daran, daß die Transformationen, die er durchführt, mit diekomplexesten von PEP sind.Dabei stellte sich allerdings bald heraus, daß <strong>ein</strong>e direkte Formulierung in XSLT <strong>und</strong> fxt nicht denAnforderungen an <strong>ein</strong>en <strong>Layout</strong>beschreibungsbaum entsprach (siehe 4.1.2), was zu dem Entwurf vonPEP ¡£ ¥§ © führte, das dann nach XSLT bzw. fxt übersetzt werden kann. XQuery <strong>und</strong> xcerpt hingegenentsprachen den Anforderungen.So müßten eigentlich korrekterweise zum <strong>ein</strong>en Vergleiche zwischen XSLT <strong>und</strong> fxt <strong>und</strong> zum anderenzwischen XQuery, xcerpt <strong>und</strong> ¢¡¤£¦¥¨§© PEP gemacht werden.Um hier jedoch <strong>ein</strong>en Vergleich zwischen allen Werkzeugen ziehen zu können, wurde die direkteTransformation von XQuery <strong>und</strong> xcerpt <strong>und</strong> die indirekte Transformation von XSLT <strong>und</strong> fxt als gleichbetrachtet.Für HaXml standen leider im Testzeitraum k<strong>ein</strong>e geeigneten Werkezuge <strong>zur</strong> Verfügung, so daß auf<strong>ein</strong>en Vergleich verzichtet werden mußte.5.4.1. XSLTXSLT eignet sich nicht besonders gut <strong>zur</strong> direkten Formulierung <strong>ein</strong>es <strong>Layout</strong>beschreibungsbaumes:Durch das Konzept, für jeden Selektor <strong>ein</strong>e eigene Regel angeben zu müssen, würde der <strong>Layout</strong>beschreibungsbaumauf viele <strong>ein</strong>zelne Regeln verteilt, was der Übersichtlichkeit sehr abträglich wäre.Stattdessen wurden Regeln formuliert, die aus dem in PEP ¡£ ¥§ © definierten <strong>Layout</strong>beschreibungsbaumwieder XSLT-Regeln erzeugen. Da diese Regeln nur <strong>ein</strong> <strong>ein</strong>ziges Mal formuliert werden müssen<strong>und</strong> dann auf alle Ausprägungen von PEP ¢¡£ ¥¨§© anwendbar sind, spielt dabei diesmal weniger die Einfachheitder Regeln <strong>ein</strong>e Rolle, sondern vielmehr die Mächtigkeit von XSLT.70

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!