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>baums§5.4.4. xcerptxcerpt ist ebenfalls <strong>ein</strong> <strong>Ansatz</strong>, bei dem Transformationen auf <strong>ein</strong>e sehr deklarative Weise angegebenwerden können. Was zusätzlich <strong>zur</strong> Klarheit der angegebenen Regeln beiträgt ist der Umstand, daß inxcerpt die Selektion der Daten <strong>und</strong> die Konstruktion in zwei getrennten Teilen der Regel formuliertwird.Auch verwendet xcerpt <strong>ein</strong>en ganz anderen Mechanismus <strong>zur</strong> Selektion als die bisherigen Ansätze:Anstatt zu versuchen, komplexe Anfragen auf Inhalte <strong>ein</strong>es XML-Eingabe-Dokuments in vielen linearenAnfrageausdrücken zu formulieren, besteht der Selektionsteil <strong>ein</strong>er xcerpt-Anfrage aus <strong>ein</strong>erBaumstruktur, die der Struktur des Eingabe-Dokuments, bzw. Teilstrukturen davon, entspricht; Inhaltewerden selektiert, indem an der entsprechenden Stelle in der Baumstruktur <strong>ein</strong>e Variable definiertwird.Die Struktur des Konstruktionsteils entspricht der Struktur des XML-Ausgabe-Dokuments (oder Teilendavon bei mehreren Regeln). Die selektierten Daten werden <strong>ein</strong>gefügt, indem die jeweilige Variablean der Stelle steht, an der <strong>ein</strong>gefügt werden soll.Um Iterationen über mehrere mögliche Ausprägungen von Variablen durchzuführen, können an beliebigenStellen in der Struktur des Konstruktionsteiles all-Quantifizierer stehen. Für jede Ausprägungwird der Teilbaum unter dem Quantifizierer in das Ausgabedokument <strong>ein</strong>gefügt.Aufgr<strong>und</strong> des frühen Stadiums von xcerpt gibt es allerdings noch <strong>ein</strong>ige Einschränkungen:So sind nur Anfragen erfolgreich, die dem Selektionsteil vollständig entsprechen. Fehlt nur <strong>ein</strong> <strong>ein</strong>zigesUnterelement, so liefert die Selektion nichts <strong>zur</strong>ück. Allerdings werden unterschiedliche Lösungsmöglichkeitenwie Defaultwerte <strong>und</strong> Alternativen bereits untersucht.Quantifizierer benötigen immer <strong>ein</strong> <strong>ein</strong>deutiges Element, auf das sie sich beziehen. Die Möglichkeit,daß sich Quantifizierer auf Attribute (z.B. das <strong>ein</strong>deutige Attribut id) beziehen, ist noch nicht vorhanden.Das Auflösen von Keys ist zwar über das Gleichstellen zweier Variablen möglich, allerdings fehlt <strong>ein</strong>Mechanismus, der das Auflösen erledigt.5.4.4.1. Transformationsanweisungen in xcerpt, die den <strong>Layout</strong>baum erzeugenconstructVeranstaltungenall var Titelall var Bereich81

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!