Da XML als Format zur Datenrepräsentation und zum Datenaustausch immer größeren Stellenwert gewonnen hat und noch gewinnt, steigt auch die Nachfrage nach Transformations- und Anfragesprachen für XML. Die am weitesten verbreiteten Vertreter sind wohl XPath und XQuery. Bei diesen beiden Sprachen, wie auch bei vielen anderen, handelt es sich um Sprachen, die einen navigationellen Ansatz zur Bearbeitung von XML-Dokumenten bieten. Der Programmierer muss hier auf bekannten Pfaden durch die XML-Struktur wandern. Dies kann durchaus als hinderliche Einschränkung gesehen werden, wenn man nicht angeben möchte wie man zu seinem Wissen kommt, sondern sich vielmehr darauf beschränken möchte wie die Daten spezifiziert sind. Einen anderen Ansatz verfolgen Sascha Berger, Francois Bry, Paula Patranjan und Sebastian Schaffert von der Universität München bei der Entwicklung der Sprache Xcerpt. Sie verwenden ein Konzept bei dem die Dokumente nach Regeln und Mustern bearbeitet werden. Diese Vorgehensweise ist also eher den logischen Programmiersprachen, wie beispielsweise Prolog, zuzuordnen oder mit Datenbankanfragesprachen wie SQL verwandt.
Auf Xcerpt aufbauend wurde XChange entwickelt. XChange soll für die automatische Verbreitung von Updates im Web und zur Kommunikation zwischen Webseiten eingesetzt werden.
Das Ziel dieser Seminararbeit wird es nun sein, den Aufbau von Xcerpt und XChange näher zu beleuchten. Da die beiden Sprachen erst wenige Jahre alt, sehr experimentell und noch nicht weit verbreitet sind, ist auch nur eine beschränke Literatur vorhanden. Im Großen und Ganzen bezieht sich diese Arbeit daher auf Quellen, die auf der Homepage zu Xcerpt (www.xcerpt.org) und sowie des Lehrstuhls „Programmier- und Modellierungssprachen“ des Instituts für Informatik an der Universität München veröffentlicht wurden.
Um in den Beispielen durchgehend einen roten Faden zu verfolgen, beziehen sich alle gezeigten Beispiele auf eine XML-Datei, die sich im Anhang befindet.
Inhaltsverzeichnis
1. Einleitung
2. Xcerpt
2.1 Xcerpt-Konstrukte
2.1.1 Database Terms
2.1.2 Query Terms
2.1.2.1 Allgemeines
2.1.2.2 Descendent
2.1.2.3 Variablen
2.1.3 Construct Terms
2.2 Aufbau eines Xcerpt-Programms
2.2.1 Rules
2.2.2 Rule Chaining
2.2.3 Goals
2.2.4 Ein- und Ausgabe
2.3 Abschließendes Beispiel
3. XChange
4. Erfahrungen und Ausblick
Zielsetzung und Themen der Arbeit
Diese Seminararbeit untersucht die Struktur und Funktionsweise der XML-Sprachen Xcerpt und XChange, um deren Eignung als deklarative Alternativen zu den gängigen navigationellen XML-Anfragesprachen wie XPath und XQuery zu beleuchten.
- Grundlagen und zentrale Konstrukte der Sprache Xcerpt
- Strukturierung von Xcerpt-Programmen durch Rules und Goals
- Methoden der Datenabfrage und Transformation mittels Query- und Construct-Terms
- Konzepte der ereignisbasierten Kommunikation in XChange
- Praktische Herausforderungen bei der Implementierung und Anwendung
Auszug aus dem Buch
2.1.2 Query Terms
Nachdem nun bekannt ist wie XML-Strukturen in Xcerpt dargestellt werden, können Anfragen gestellt werden. Dies geschieht durch die Query Terms. Diese besitzen drei grundlegende Eigenschaften:
1. Unvollständigkeit, ein Query Term kann Teilterme des zu durchsuchenden Terms enthalten und somit irrelevante Teile bei der Anfrage auslassen
2. Geordnet / ungeordnet, die Teilterme des Query Terms können sowohl geordnet als auch ungeordnet sein
3. Descendent, es besteht die Möglichkeit einen Teilterm in beliebiger Tiefe zu suchen
Query Terms enthalten neben den bereits in Database Terms erwähnten einfachen Klammerungen auch doppelt geschweifte {{}} und eckige [[]] Klammern. Weiterhin gilt, dass eckige Klammern anzeigen, dass die Reihenfolge exakt gleich sein muss, während die geschweiften Klammern eine ungeordnete Anreihung repräsentieren.
Einfache geschweifte Klammern {} und eckige Klammern [] bedeuten in Query Terms, dass die Data Terms exakt einmal vorkommen dürfen und müssen. Enthält ein zu durchsuchender Data Term mehr als einmal die vorgegebenen Terme oder enthält er die Terme gar nicht, fällt er durch das Suchmuster.
Eine doppelt geschweifte {{}} oder eckige [[]] Klammerung bedeutet, dass die Data Terms des Suchmusters mindestens einmal im auszuwertenden Ausdruck vorkommen müssen. Allerdings können sie auch mehrmals dort auftreten. Xcerpt unterscheidet hier also die Kardinalitäten „exakt 1“ und „größer-gleich 1“.
Zusammenfassung der Kapitel
1. Einleitung: Die Einleitung motiviert die Entwicklung von Xcerpt und XChange als deklarative Anfragesprachen für XML und beschreibt die Zielsetzung der Arbeit.
2. Xcerpt: Dieses Kapitel erläutert die Grundbausteine von Xcerpt, bestehend aus Database, Query und Construct Terms, sowie den Aufbau von Programmen.
2.1 Xcerpt-Konstrukte: Hier werden die drei Term-Arten im Detail definiert und deren Zusammenspiel erläutert.
2.1.1 Database Terms: Dieser Abschnitt beschreibt die Darstellung von XML-Daten als Terme innerhalb von Xcerpt.
2.1.2 Query Terms: Der Fokus liegt hier auf den Mechanismen zur Abfrage von XML-Strukturen unter Verwendung von Mustern.
2.1.2.1 Allgemeines: Einführung in die Grundeigenschaften von Query Terms wie Unvollständigkeit und Ordnung.
2.1.2.2 Descendent: Erläuterung der Suche nach Unterknoten in beliebiger Tiefe mittels des Konstruktors desc.
2.1.2.3 Variablen: Beschreibung der Variablenbindung bei der Auswertung von Anfragen.
2.1.3 Construct Terms: Erklärung, wie aus Abfrageergebnissen neue Strukturen erstellt werden.
2.2 Aufbau eines Xcerpt-Programms: Detaillierte Darstellung der Programmstruktur.
2.2.1 Rules: Dieser Teil behandelt die Kombination von Anfragen und Konstruktionen in Regeln.
2.2.2 Rule Chaining: Beschreibung der Methode, Regeln auf Ergebnisse anderer Regeln anzuwenden.
2.2.3 Goals: Erläuterung der Ziele zur Ausgabe berechneter Ergebnisse.
2.2.4 Ein- und Ausgabe: Darstellung der Anbindung von Dateien an Xcerpt-Programme.
2.3 Abschließendes Beispiel: Ein praktisches Anwendungsbeispiel fasst die erlernten Konzepte in einer HTML-Generierung zusammen.
3. XChange: Vorstellung der theoretischen Grundlagen für den automatischen Datenaustausch im Web.
4. Erfahrungen und Ausblick: Kritische Reflexion der Implementierung und Ausblick auf zukünftige Entwicklungen.
Schlüsselwörter
Xcerpt, XChange, XML, Anfragesprache, Transformationssprache, Database Terms, Query Terms, Construct Terms, Regelbasierte Programmierung, Web-Technologien, Datenaustausch, Deklarative Sprachen, XML-Transformation, Datenverarbeitung, Prototyping
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit befasst sich mit den XML-Sprachen Xcerpt und XChange, die als innovative, deklarative Alternativen zu etablierten navigationellen Sprachen für die Web-Datenverarbeitung dienen.
Was sind die zentralen Themenfelder?
Im Zentrum stehen die Struktur von Xcerpt-Programmen, die Funktionsweise von Abfrage- und Konstruktionsmustern sowie Konzepte für ereignisgesteuerte Kommunikation im Web.
Was ist das primäre Ziel der Forschungsarbeit?
Ziel ist es, den Aufbau von Xcerpt und XChange zu analysieren, da aufgrund der Neuartigkeit der Sprachen bisher nur wenig dokumentierte Literatur verfügbar ist.
Welche wissenschaftliche Methode wurde verwendet?
Die Arbeit stützt sich auf eine Literaturanalyse der offiziellen Quellen des Lehrstuhls für Programmier- und Modellierungssprachen an der Universität München sowie auf eine experimentelle Erprobung der verfügbaren Prototypen.
Was wird im Hauptteil behandelt?
Der Hauptteil gliedert sich in die detaillierte Vorstellung der Sprachkonstrukte (Terme), die Programmierung mit Rules und Goals, die praktische Anwendung an XML-Beispielen und eine Einführung in das Konzept von XChange.
Welche Schlüsselwörter charakterisieren die Arbeit?
Wichtige Begriffe sind Xcerpt, XChange, XML, deklarative Anfragesprachen, Transformation, Regelbasierte Programmierung und Web-Kommunikation.
Was unterscheidet Xcerpt von Sprachen wie XPath oder XQuery?
Xcerpt verfolgt einen deklarativen Ansatz über Regeln und Muster, anstatt den Anwender zu zwingen, explizite Navigationspfade durch die XML-Struktur zu definieren.
Wie werden Ergebnisse in Xcerpt verarbeitet?
Mithilfe von sogenannten Construct Terms können aus den Ergebnissen von Query Terms neue Database Terms generiert werden, die wiederum in Goals zur Ausgabe weitergeleitet werden.
Welche Rolle spielt XChange in diesem Kontext?
XChange basiert auf Xcerpt und erweitert dessen Logik, um den automatisierten Datenaustausch und die Kommunikation zwischen verschiedenen Webseiten mittels Events und Updates zu ermöglichen.
Warum ist die Arbeit mit Xcerpt derzeit als herausfordernd beschrieben?
Aufgrund des experimentellen Prototyp-Status fehlen umfangreiche Entwicklungsumgebungen und eine umfassende Dokumentation, was die Einarbeitung und Konfiguration erschwert.
- Quote paper
- Andre Altenau (Author), 2005, XCerpt und XChange, Munich, GRIN Verlag, https://www.grin.com/document/53734