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

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> Werkzeuge4.3.1.5. xcerptxcerpt ist die <strong>Spezifikation</strong> <strong>ein</strong>er Logikanfragesprache für XML-Dokumente, die, wie XQuery, nochim Entwurfsstadium ist. Sie entsteht <strong>zur</strong> Zeit an der LFE für Programmier- <strong>und</strong> Modellierungssprachender LMU München [8, 7].Im Gegensatz zu den funktionalen Anfragesprachen wie XSLT oder fxt, in denen Regeln rekursiv weitereRegeln aufrufen <strong>und</strong> aus deren Rückgabewerten, eigenen Konstruktorelementen <strong>und</strong> selektiertenoder berechneten Elementen wieder <strong>ein</strong>en Rückgabewert konstruieren <strong>und</strong> somit <strong>ein</strong>e starke Vermischungvon Konstruktoren <strong>und</strong> Selektoren aufweisen, trennt xcerpt mit s<strong>ein</strong>em logischen Paradigmadiese beiden Bereiche stark von <strong>ein</strong>ander ab:xcerpt besitzt <strong>ein</strong>en Selektorteil (where), in dem Variablen definiert werden <strong>und</strong> <strong>ein</strong>en Konstruktorteil(construct), in den diese Variablen <strong>ein</strong>gesetzt werden können. Geb<strong>und</strong>en werden die Variablendurch <strong>ein</strong>e spezielle Form der Unifikation, genannt simulation unification. Diese spezielle Form derUnifikation ist für das pattern matching nötig, <strong>und</strong> um den Spezifika von Anfragen auf Bäumen gerechtzu werden, wie Beziehungen zu Nachfolgern beliebiger Tiefe (desc) oder Anfragemuster (as).In xcerpt existieren ebenfalls quantifizierte Ausdrücke: all als Allquantor <strong>und</strong> some als Existenzquantor.Ein Beispiel für <strong>ein</strong>e Anfrage in xcerpt findet sich in Abbildung 4.4. Es zeigt den gleichen Sachverhaltwie die Beispiele für XSLT, fxt <strong>und</strong> HaXml.constructall var Twheredesc var TABBILDUNG 4.4.: Beispiel für Transformationen in xcerptAufgr<strong>und</strong> des frühen Stadiums ist zu erwarten, daß unter anderem die Syntax der Sprache noch gewissenÄnderungen unterliegt, so daß das Beispiel nur <strong>ein</strong>en momentanen Stand wiederspiegelt.4.3.1.6. Weitere TransformationssprachenNatürlich sind noch <strong>ein</strong>e Anzahl weiterer Anfragesprachen für XML verfügbar. Unter anderem sinddies Quilt [9], XML-QL [11], XQL [22], Lorel [1] <strong>und</strong> YATL [23]. Diese haben jedoch alle gem<strong>ein</strong>,daß sie entweder in ihrem Verwendungszweck recht spezifisch ausgerichtet sind oder daß sie sichfür die Verarbeitung von XML-Dokumenten nicht durchsetzen konnten. Ganz unbedeutend für dieheutige Entwicklung sind sie natürlich auch wieder nicht: So basiert z.B. XQuery auf Quilt <strong>und</strong> Quiltselbst hat wiederum Anlehnungen an <strong>ein</strong>e Reihe anderer der oben genannten Anfragesprachen.Bewußt außen vor gelassen wurde die Einbettung von XML in Programiersprachen wie Java (mit<strong>ein</strong>er baumorientierten Schnittstelle zu XML wie DOM oder <strong>ein</strong>er eventbasierten wie SAX), Prolog(mit dem SWI-Prolog SGML/XML parser [28]), Haskell (mit der oben kurz genannten Übersetzungvon DTDs in Haskell-Datentypen [25]) <strong>und</strong> anderen, da hier Ansätze <strong>zur</strong> deklarativen <strong>Spezifikation</strong>von Transformationen untersucht werden sollten.49

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!