ein generischer Ansatz zur Layout-Spezifikation - Lehr- und ...
ein generischer Ansatz zur Layout-Spezifikation - Lehr- und ...
ein generischer Ansatz zur Layout-Spezifikation - Lehr- und ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
4.3. Verfügbare Sprachmittel <strong>und</strong> WerkzeugeDie (pfadorientierte) Navigation im XML-Quelldokument wird ebenfalls über die Kombinatoren bewerkstelligt.Der Kombinator /> liefert die innere Struktur <strong>ein</strong>es Unterelements, then-Teil :> else-Teil.Um <strong>ein</strong>e rekursive Bearbeitung von Bäumen zu ermöglichen, gibt es <strong>ein</strong>e Reihe von recht mächtigenKombinatoren: deep, um <strong>ein</strong>en Filter rekursiv absteigend auf das jeweils erste passenden Element in<strong>ein</strong>en Teilbaum anzuwenden, deepest, um <strong>ein</strong>en Filter auf das jeweils tiefste passende Element imTeilbaum anzuwenden, multi, um <strong>ein</strong>en Filter auf alle passenden Elemente <strong>ein</strong>es Teilbaumes anzuwenden<strong>und</strong> foldXml, um <strong>ein</strong>en Filter auf alle Ebenen <strong>ein</strong>es Teilbaumes, bei den Blättern beginnend,anzuwenden.Abbildung 4.3 zeigt das Beispiel aus Abbildung 4.1 als HaXml-Skript.module Main whereimport Xmlmain = processXmlWith (mkElem "UL" [deep (tag "section" /> tag "title" ?>mkElem "LI" [ keep /> txt ] :>none)])ABBILDUNG 4.3.: Beispiel für Transformationen in HaXml4.3.1.4. XQueryXQuery [40] ist <strong>ein</strong>e <strong>Spezifikation</strong> <strong>ein</strong>er funktionalen Anfragesprache für XML-Dokumente, die nochim Entwurfsstadium ist 3 . Aufgr<strong>und</strong> des frühen Stadiums der <strong>Spezifikation</strong> kann die nachfolgendeDarstellung von XQuery nur <strong>ein</strong>en Überblick über den momentanen Stand geben, da sich vieles nochändern kann.Der gr<strong>und</strong>legende Bestandteil <strong>ein</strong>er XQuery-Anfrage ist der Ausdruck. Ein Ausdruck besteht aus <strong>ein</strong>erAnzahl von Komponenten. Unter anderem sind dies:Pfadausdrücke: Sie sind durch XPath 2.0 spezifiziert. Dies umfaßt unter anderem die von XPath1.0 bekannten absoluten <strong>und</strong> relativen Pfade <strong>und</strong> Achsen-Spezifizierer (axis steps <strong>und</strong> generalsteps) <strong>und</strong> zusätzlich noch <strong>ein</strong> Dereferenzierungs-Konstrukt (dereference) zum Auflösen vonReferenzen mittels ID <strong>und</strong> IDREF.Konstruktoren: Diese können entweder Konstanten s<strong>ein</strong> (formuliert als Elemente <strong>und</strong> Attribut<strong>ein</strong> der bekannten XML-Notation) oder Ausdrücke, gekennzeichnet dadurch, daß sie von3 Die <strong>Spezifikation</strong> von XQuery hat momentan den Status ”Working Draft“, was bedeutet, daß der Entwurf jederzeit ersetztoder geändert werden kann.47