Die Auszeichnungssprache XML definiert eine einfache Syntax für strukturierte Daten, die sich so applikationsübergreifend einsetzen lassen. Eine der wichtigsten Voraussetzungen für den Austausch solcher XML-Daten ist die Möglichkeit ihrerTransformation. Unter den derzeit verfügbaren Transformationsmethoden für XML hat die Sprache XSLT als W3C-Standard die größte Verbreitung gefunden. Allerdings skaliert XSLT nicht für große Datenmengen, da hier eine Gesamtsicht auf das XML-Dokument vorausgesetzt wird. Andere existierende Transformationsmethoden besitzen entweder die gleiche Eigenschaft oder erfordern die Programmierung auf der XML-fernen Ebene einer Programmiersprache. In dieser Arbeit wird mit STX eine Transformationssprache für XML entwickelt, die diese Lücke füllt. STX orientiert sich sehr stark an XSLT, verarbeitet jedoch ein XML-Dokument als Datenstrom. STX kann so prinzipiell beliebig große Dokumente transformieren. Die aus der Sprache XPath 2.0 des W3C abgeleitete STX-Pfadsprache (STXPath) trägt dabei der eingeschränkten Sicht auf die zu transformierenden Daten Rechnung, indem sie nur den Zugriff auf die Vorfahren des jeweiligen Kontextknotens ermöglicht. Zu den neuartigen Konzepten in STX zählen neben prozeduralen Eigenschaften vor allem Gruppen, Schnittstellen zu externen Transformationsprozessen, die komplexe Transformation von Zeichenketten sowie Sprachmittel zur Fehlerbehandlung. Diese Arbeit stellt Entwurfsmuster für die wichtigsten Transformationstypen in STX vor und demonstriert an drei Fallbeispielen den Einsatz in realen Projekten. Der dazu verwendete STX-Prozessor Joost verfügt zudem über standardisierteJava-Schnittstellen, die dessen Integration in bestehende Java-Applikationen erleichtern. / The markup language XML defines a simple syntax for structured data that can be used across application boundaries. One of the most important prerequisites for the interchange of such XML data is the possibility of its transformation. Among the currently available transformation approaches for XML, the W3C standard XSLT has gained the biggest popularity. However, XSLT doesn''t scale for huge amounts of data because it requires an overall view to an XML document. Other existing transformation approaches either have the same character or require low-level programming using a general programming language. This PhD thesis introduces STX, an XML transformation language that fills this gap. STX is strongly geared to XSLT, though it processes an XML document as a stream. Therefore, STX is able to transform documents of any size. The STX path language (STXPath), derived from the W3C standard XPath 2.0, considers the restricted view to the input data and enables the access only to the ancestors of the current context node. The new concepts in STX include besides its procedural behaviour mainly groups, interfaces to external transformation processes, complex transformations of strings, as well as language means for error handling. This work introduces design patterns for the most important transformation types in STX and demonstrates three real-life scenarios. The STX processor Joost used for this purpose provides in addition standardized Java interfaces that facilitate its integration into existing Java applications.
Identifer | oai:union.ndltd.org:HUMBOLT/oai:edoc.hu-berlin.de:18452/15807 |
Date | 10 December 2004 |
Creators | Becker, Oliver |
Contributors | Fischer, Joachim, Klever, Nikolaus, Tolksdorf, Robert |
Publisher | Humboldt-Universität zu Berlin, Mathematisch-Naturwissenschaftliche Fakultät II |
Source Sets | Humboldt University of Berlin |
Language | German |
Detected Language | English |
Type | doctoralThesis, doc-type:doctoralThesis |
Format | application/pdf |
Page generated in 0.0025 seconds