Magisterarbeit, 2005
66 Seiten, Note: 1,3
1. Einleitung
1.2 Schreibweisen
1.3 Verwendete Software
1.3.1 Java
1.3.2 Perl
2. Die „Extensible Markup Language“ (XML)
2.1 XML – ein offener Standard
2.2 XML - Syntax
2.3 Wohlgeformte und gültige XML-Dokumente
2.4 Die Document Type Definition (DTD)
2.5 Die DTD des TAZ-Corpus
2.6 XML-Schema
2.6.1 Das Instanz-Dokument
2.6.2 Das XML-Schema Dokument
2.6.2.1 Der Kopf des XML-Schemas
2.6.2.2 Elemente deklarieren
2.6.2.3 Attribute deklarieren
2.7 Weitere Ansätze zur Erzeugung gültiger XML-Dokumente
2.8 Unterstützung fremdsprachlicher Zeichensätze
3. Be- und Verarbeitung von XML-Daten
3.1 XML Parsen
3.1.1 XML-Parser für Perl
3.1.1.1 XML::Parser
3.1.1.2 Das Modul XML::Parser::PerlSax
3.1.1.3 Das Modul XML::DOM
3.1.2 XML-Parser für Java
3.1.2.1 SAX-Parser
3.1.2.2 DOM-Parser
3.2 XPath
3.2.1 Teilbäume identifizieren
3.2.2 Attribute berücksichtigen
3.2.3 Der Inhalt eines Elements
3.2.4 Weitere Operatoren und Berechnungen
3.2.5 XPath-Beispiele anhand des TAZ-Corpus
3.3 XQuery
3.3.1 FOR, LET, WHERE und RETURN
3.3.2 Weitere Konstrukte
3.4 XUpdate
3.4.1 Elemente einfügen
3.4.2 Elemente anfügen
3.4.3 Elemente aktualisieren
3.4.4 Elemente löschen
3.4.5 Elemente umbenennen
3.5 Externe Datenquellen in XML-Daten integrieren
3.5.1 XLink
3.5.2 XPointer
3.5.3 XInclude
3.5.3.1 TAZ-Corpus: Meta-Daten mittels XInclude auslagern
3.6 Webservices
3.6.1 SOAP
3.6.2 XML-RPC
3.6.2.1 XML-RPC: Server-Implementierung
3.6.2.2 XML-RPC: Client-Implementierung
3.7 XML-Daten transformieren
3.7.1 XML-Daten mit CSS formatieren
3.7.2 XSLT
3.7.2.1 XSLT-Prozessoren
3.7.2.2 Grundlegende Syntax-Elemente
3.7.2.3 Abfragen
3.7.2.4 Weitere XSLT-Funktionen
3.7.2.5 Formatting Objects (XSL-FO)
3.7.2.6 XSLT-Beispiel anhand des TAZ-Corpus
4. Weitere Spezifikationen des W3C
4.1 XML-Elemente mit xml:id indizieren
4.2 Binären Daten Media-Typen zuweisen
4.3 SMIL - Synchronized Multimedia Integration Language
4.4 Scalable Vector Graphics
4.4.1 Grundlegende SVG-Elemente
4.4.2 Weitere SVG-Elemente
4.4.3 Transformationen
5. XML-Datenbanken
5.1 Das relationale Datenmodell versus XML
5.2 OpenSource XML-Datenbanken
5.3 Die XML-Datenbank eXist
5.3.1 Installation von eXist
5.3.2 XML-Workflow in eXist
5.3.3 Das TAZ-Corpus in der eXist-Datenbank
5.3.4 Deutsch-Englisches Wörterbuch
5.4 Beipielanwendung (Perl): Validieren des Zipfschen Gesetzes anhand des TAZ-Corpus
5.4.1 Programmlauf
6. Weitere Tools zum Bearbeiten von XML-Daten
6.1 XML-Editoren
6.1.1 Kommerzielle Produkte
6.1.2 OpenSource-Produkte
6.1.3 Übersicht
6.2 Weitere Perl-Module zur Verarbeitung von XML-Daten
6.2.1 XML::Simple
6.2.2 XML::XPath
7. XML-Bearbeitung in weiteren Programmiersprachen
8. Schlussbemerkungen
Das Hauptziel dieser Arbeit ist es aufzuzeigen, dass die „Extensible Markup Language“ (XML) als einheitlicher Workflow für verschiedenste Arten von Text-Corpora in der Quantitativen Linguistik dienen kann. Die Arbeit untersucht dabei die technischen Grundlagen von XML, die Möglichkeiten zur Be- und Verarbeitung der Daten sowie deren Speicherung und Transformation.
3.1.2.1 SAX-Parser
Das Paket javax.xml.parsers.* enthält die Klassen, die notwendig sind, um einen SAX-Parser zu erstellen. org.xml.sax wiederum stellt das API zu diesem bereit, org.xml.sax.helpers.* stellt einige Hilfs-Konstrukte zur Verfügung.
Letzteres stellt auch die Klasse DefaultHandler zur Verfügung. Eine von dieser Klasse abgeleitete Klasse kann auf die Ereignisse des SAX-Parsers reagieren:
public class sax_parser extends DefaultHandler{
Anschliessend wird der Parser initialisiert mittels
DefaultHandler handler = new sax_parser();
Innerhalb des try – catch-Blocks findet das eigentliche Parsen statt:
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
Das Objekt SAXParser wird von der Klasse SAXParserFactory zur Verfügung gestellt. Diese überprüft vor dem eigentlichen Erstellen des Parsers die Java-Version. Ist diese zu alt, kann der Parser nicht initialisiert werden und die catch-Anweisung beendet das Programm.
Endgültig geparst wird die Datei mittels der Zeile
saxParser.parse(datei,handler);
Die Datei wird zeilenweise analysiert. Falls ein XML-Element geöffnet wird, wird die Funktion startElement aufgerufen. Diese übernimmt einige Parameter:
public void startElement(String namespaceURI, String sName, String qName, Attributes attrs)
namespaceURI enthält einen eventuellen Namens-Raum des Tags, sName den Namen des Elements ohne Namens-Raum, qName Namens-Raum und Name. attrs repräsentiert die Attribute.
Wird mittels der Variablen qName festgestellt, dass das aktuelle XML-Element den Namen token trägt, wird über die Attribute iteriert und das mit dem Namen wclass ausgegeben.
1. Einleitung: Problematisierung proprietärer Datenformate und Vorstellung von XML als Alternative für den Workflow in der quantitativen Linguistik.
2. Die „Extensible Markup Language“ (XML): Einführung in die Syntax, Strukturierung durch DTDs und Schemata sowie Handhabung von Zeichensätzen.
3. Be- und Verarbeitung von XML-Daten: Detaillierte Darstellung von Parser-Technologien (SAX/DOM), Abfragesprachen (XPath/XQuery) sowie Transformationstechniken (XSLT) und Webservice-Anbindung.
4. Weitere Spezifikationen des W3C: Überblick über ergänzende Standards wie xml:id, SMIL und Scalable Vector Graphics (SVG).
5. XML-Datenbanken: Abgrenzung zu relationalen Datenbanken und Vorstellung der eXist-Datenbank zur Verwaltung von XML-Strukturen.
6. Weitere Tools zum Bearbeiten von XML-Daten: Vergleich verschiedener kommerzieller und OpenSource-XML-Editoren sowie weiterer Perl-Module zur Datenverarbeitung.
7. XML-Bearbeitung in weiteren Programmiersprachen: Kurze Zusammenfassung der Unterstützung für XML in Sprachen wie PHP, Python und LISP.
8. Schlussbemerkungen: Zusammenfassende Bewertung von XML als reifer Standard und Diskussion der Performance-Herausforderungen bei großen Datenbeständen.
XML, Quantitative Linguistik, Text-Corpora, Parsing, SAX, DOM, XPath, XQuery, XSLT, Datenbanken, eXist, Perl, Java, Datenformate, Datenaustausch
Die Arbeit behandelt den Einsatz von XML zur Standardisierung und effizienten Verwaltung von Text-Corpora in der Quantitativen Linguistik.
Im Zentrum stehen die Strukturierung von Daten durch XML, die automatisierte Verarbeitung durch Parser, die Analyse durch Abfragesprachen sowie die Speicherung in spezialisierten Datenbanken.
Es soll nachgewiesen werden, dass XML einen einheitlichen Workflow ermöglicht, der linguistische Daten unabhängig von spezifischen Softwareherstellern zugänglich und analysierbar macht.
Die Arbeit basiert auf einer theoretischen Analyse von XML-Spezifikationen und der praktischen Implementierung von Softwarebeispielen (insb. in Perl und Java), um die Funktionalität zu demonstrieren.
Der Hauptteil gliedert sich in die technische Einführung von XML, die Methoden der Datenverarbeitung (Parser, XPath, XQuery, XSLT), die Anbindung an XML-Datenbanken sowie eine konkrete Anwendungsfall-Studie.
XML, Text-Corpora, Parser (SAX/DOM), XPath, XQuery, XSLT und XML-Datenbanken.
Die Arbeit validiert das Gesetz mittels eines Perl-Programms, das Daten direkt aus der eXist-Datenbank via XPath abfragt und die Häufigkeitsverteilung von Wortlängen im TAZ-Corpus analysiert.
Obwohl DOM rechenintensiver ist, ermöglicht es die Repräsentation des gesamten Dokuments als Baumstruktur, was den Zugriff auf beliebige Elemente und deren Manipulation im Vergleich zur linearen Verarbeitung von SAX erleichtert.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

