
XSLT & OpenOffice.org: XML-Anwendung
Dokumentinformationen
Schule | Technische Universität Ilmenau |
Fachrichtung | Prozessinformatik |
Veröffentlichungsjahr | 2003/2004 |
Dokumenttyp | Projektarbeit |
Sprache | German |
Format | |
Größe | 476.09 KB |
Zusammenfassung
I.XML als Grundlage für Datenmanagement und austausch
Das Dokument erläutert die Bedeutung von XML als offenen Standard für die plattform- und systemunabhängige Darstellung von Daten im Internet und Intranet. Im Fokus steht die Nutzung von XML in Verbindung mit XSLT zur Transformation, Manipulation und Formatierung von Daten. Die Vorteile von XML gegenüber HTML werden hervorgehoben, insbesondere die semantische Klarheit und die bessere Browser-Unabhängigkeit. Die Anwendung von XML und XSLT wird anhand des Open-Source-Projekts OpenOffice.org veranschaulicht, welches XML-basierte Datenformate nutzt. Das Dokument beleuchtet die interne XML-Struktur von OpenOffice.org Dokumenten, die Verwendung von DTDs und Schemas, sowie die Rolle von XML Parsern (z.B. SAX und DOM) bei der Datenverarbeitung.
1. XML als offener Standard für die Datenrepräsentation
Der Text beginnt mit der Einführung von XML als offenem Standard für die unabhängige Darstellung von Daten in Browsern. Es wird betont, dass XML Daten browserunabhängig darstellt, im Gegensatz zu HTML, welches browserabhängige Darstellung aufweist. Zusätzlich zur Darstellung werden weitere Anweisungen benötigt, die durch XSLT-Dokumente (Extensible Stylesheet Language Transformations) bereitgestellt werden. Die Möglichkeit, XML-Dokumente mit XSLT-Anweisungen zu filtern, zu manipulieren, zu sortieren und zu berechnen, wird hervorgehoben, wodurch eine vielseitige Anwendung entsteht. Daten können einmalig in XML vorliegen und dann nach Bedarf in andere Formate exportiert werden. Die Weiterentwicklung und das große Anwendungspotential von XML werden unterstrichen, wobei OpenOffice.org als ein Beispiel genannt wird. Die Fähigkeit, eigene beschreibende Elemente in Document Type Definitions (DTDs) oder Schemas zu definieren und Informationen zuzuordnen, ist ein zentrales Merkmal, das die Flexibilität von XML unterstreicht. Die zunehmende Notwendigkeit offener Standards im globalen Markt, im Gegensatz zu proprietären Systemen, wird als treibende Kraft hinter der Verbreitung von XML genannt, wobei OpenOffice.org als ein Beispiel für die Umsetzung genannt wird. Die Unterstützung großer Organisationen wie das W3-Konsortium für die Weiterentwicklung und Standardisierung von XML wird erwähnt, zusammen mit der Aussage des W3C über die wachsende Bedeutung von XML für den Datenaustausch.
2. Vergleich XML und HTML Semantik und universelle Verwendbarkeit
Der Abschnitt vergleicht XML mit HTML, wobei die Nachteile von HTML im Fokus stehen: Die browserabhängige Darstellung von Inhalten und der Verlust des semantischen Informationsgehalts. Im Gegensatz dazu wird XML als Lösung dieser Probleme präsentiert. XML wird als agile Ableitung von SGML beschrieben, die auf einen Umfang von 33 Seiten reduziert wurde, um den alltäglichen Gebrauch zu erleichtern. Im Gegensatz zu SGML (Standard Generalized Markup Language) mit einem Umfang von über 500 Seiten, ist XML für kleinere und alltägliche Probleme konzipiert. XML wird als neue „Web-Sprache“ bezeichnet, die als Vorlage für weitere Auszeichnungssprachen (CML, WML, SMIL) dient. Der Vorteil von XML liegt in der Nutzerkontrolle über die Datenstruktur und der Speicherung semantischer Informationen in selbst erstellten Elementen, im Gegensatz zu HTML, bei dem diese Informationen verloren gehen. Die physische Ausrichtung wird erst in zusätzlichen Dokumenten festgelegt. Die exponentiell wachsende Bedeutung von XML in der Wirtschaft wird hervorgehoben, da es als system-, sprachen- und netzübergreifender Datenhaltungsstandard dient und Grundlage für semantisches Dokumentenmanagement und Datenstrukturen in Datenbanken ist. Obwohl Performanceprobleme noch diskutiert werden, ist die Einigkeit der Handelspartner über die Auszeichnungselemente essentiell für die korrekte Interpretation und Weiterverwendung der Daten. XML wird als Werkzeugkasten für interoperable Lösungen gesehen und vereinfacht den Datenaustausch, insbesondere im Zusammenhang mit EDI (Electronic Data Interchange). Die Kombination von XML mit HTML ermöglicht laut W3C einen nächsten Schritt in der Internetentwicklung durch XHTML, welches Abwärts- und Zukunftskompatibilität bietet.
3. XML Strukturen DTDs und Schemas
Dieser Teil beschreibt die Möglichkeiten zur Strukturierung von XML-Daten. XSLT wird als Erweiterung der Anwendungsmöglichkeiten von XML vorgestellt. Mit XSLT lassen sich XML-Daten in andere Formate umwandeln, berechnen, sortieren und filtern. Der Text unterscheidet zwischen Struktur- und Inhaltselementen in XML-Dokumenten, die getrennt oder in einer Datei gespeichert werden können. Document Type Definitions (DTDs) werden eingeführt, die die erlaubten Elemente, Attribute und deren Beziehungen in einem XML-Format definieren. Alles, was nicht in einer DTD definiert ist, ist verboten. Schemas werden als datenorientierte Alternative zu DTDs beschrieben, die Datentypen und komplexe Strukturen definieren können. Auch Schemas sind XML-Dokumente und ermöglichen die Manipulation anderer Schemas durch XSLT-Anweisungen. Ein Beispiel eines XML-Schemas wird gezeigt, das ein Wurzelelement mit untergeordneten Elementen definiert. Der Aufbau eines XSLT-Dokumentes wird skizziert, einschließlich der Processing Instruction zur Angabe von Version und Zeichencode (UTF-8 Unicode). Die Vorteile von XML gegenüber HTML werden nochmals betont: XML ist als offener Standard erweiterbar, einfach zu erlernen und die meisten benötigten Dateien werden in derselben Sprache geschrieben. Die Unterstützung durch Editoren vereinfacht die Anwendung und beschleunigt die Weiterentwicklung. Viele Anwendungen integrieren mittlerweile Filter, Editoren und XML als Datenhaltungsstandard.
II.XSLT Transformation und Manipulation von XML Daten
Ein wichtiger Aspekt ist die Transformations-Sprache XSLT, die es ermöglicht, XML-Daten in verschiedene Formate (z.B. HTML, PDF, Datenbanken) umzuwandeln, zu filtern, zu sortieren und zu berechnen. XSLT ermöglicht die Definition von Templates zur Steuerung der Darstellung. Das Dokument beschreibt den Prozess der XML-Transformation mit XSLT und zeigt anhand von Beispielen, wie XML-Daten in die Struktur von OpenOffice.org Dokumenten eingebunden werden können. Die Anwendung von XSLT in Verbindung mit XML-Parsern wird ebenfalls thematisiert. Die Verwendung von XSL-FO für die Formatierung wird erwähnt.
1. XSLT Transformation und Formatierung von XML Daten
Der Abschnitt beschreibt XSLT (Extensible Stylesheet Language Transformations) als zentrale Technologie zur Transformation und Manipulation von XML-Daten. XSLT erlaubt es, XML-Daten in verschiedene Formate umzuwandeln, sie zu filtern, zu sortieren, zu berechnen und ihr Aussehen individuell anzupassen. Dies ermöglicht eine breite Palette an Anwendungsmöglichkeiten, bei denen XML-Daten einmalig vorliegen und nach Bedarf in andere Formate übertragen werden können. Ein Beispiel hierfür ist die im Text beschriebene Integration von XML-Daten in OpenOffice.org Dokumente. Die Möglichkeiten von XSLT sind noch lange nicht ausgeschöpft, ihre Entwicklung wird jedoch intensiv vorangetrieben. XSLT erweitert die Anwendungsmöglichkeiten von XML erheblich, indem es die Umwandlung in diverse Formate erlaubt, inklusive PDF-Dokumente, Datenbanken und Bildern. Das bedeutet, dass die inhaltlichen Strukturen von Dokumenten unterschiedlichster Art mit geringem programmiertechnischen Aufwand beschrieben werden können. Struktur und Inhalt eines XML-Dokuments können getrennt, aber auch in einer einzigen Datei gespeichert werden; für die Wiederverwendbarkeit in größeren Projekten werden jedoch separate externe Dateien empfohlen.
2. XSLT Templates und die Verarbeitung von XML Knoten
Der Text erklärt den grundlegenden Mechanismus von XSLT-Templates. Diese Templates spezifizieren, wie ein Knoten aus dem XML-Quelldokument im Zieldokument dargestellt werden soll. Ein XSLT-Prozessor durchläuft jeden Knoten der Quelle und sucht nach passenden Templates. Bei Übereinstimmung werden die Anweisungen des Templates auf den Knoten angewendet. Der Prozess wird anhand eines Beispiels illustriert, bei dem ein Stylesheet HTML-Code generiert. Der Aufbau eines XSLT-Dokuments wird anhand einer Beispielzeile beschrieben, in der der Parser über die Version und den Zeichencode (UTF-8 Unicode) informiert wird. Der Text betont, dass XSLT auch unabhängig von XSL verwendet werden kann, aber primär für Transformationen entwickelt wurde, die im Kontext von XSL benötigt werden. Zusätzlich zu Transformationsfunktionen bietet XSLT die Möglichkeit, Schleifen und Berechnungen (z.B. mit xsl:if, xsl:choose, xsl:when, xsl:for-each) zu implementieren. Damit lassen sich nicht nur Formatierungsanweisungen für XML-Dokumente und HTML-Seiten schreiben, sondern auch andere Formate wie PDF, Java-Programme, VRML- oder SVG-Dateien generieren. Besonders wichtig ist der Einsatz von XSLT in Verbindung mit Datenbanken (relational oder objektorientiert). XML-Dokumente können weiter modifiziert, Daten selektiert und verarbeitet sowie in neuen XML-Dokumenten gespeichert werden, z.B. durch Filterfunktionen, Berechnungen oder Sortierungen für verschiedene Zielgruppen.
3. Praktische Anwendung von XSLT in OpenOffice.org
Der Abschnitt beschreibt eine praktische Anwendung von XSLT zur Transformation von XML-Daten in das OpenOffice.org Format. Es wird ein Beispiel mit Daten des DVP (die genaue Bedeutung von DVP wird im Dokument nicht erklärt) genannt, wobei Daten gefiltert und sortiert werden müssen. Diese Daten werden dann in die Struktur eines OpenOffice.org-Dokuments eingearbeitet. Der Ablauf wird anhand eines Stylesheets erläutert, das eine erweiterte Output-Definition enthält und Templates für die Bearbeitung von Knoten im XML-Dokument definiert. Ein Beispiel beinhaltet die Ausgabe von Requirements und Features in Tabellen- und Listenstrukturen. Die Rekursion zur Bearbeitung untergeordneter Ebenen wird erwähnt. Der Text zeigt, wie Tabellen- und Listenanweisungen von OpenOffice.org in das Stylesheet integriert werden. Die Struktur des Stylesheets wird beschrieben: Es beginnt mit der Output-Definition, gefolgt von Haupttemplates und weiteren Templates für die Verarbeitung von spezifischen Knoten (z.B. „FeatureModel“). Diese Templates enthalten Style-Anweisungen für Tabellen und Listen und sorgen für die richtige Formatierung des Ausgabetextes. Zusammenfassend wird die deklarative Natur von XSLT betont: Es wird beschrieben, wie das Ergebnis nach der Transformation aussehen soll, und der Parser sucht nach passenden Templates, um die Anweisungen auf die Knoten anzuwenden. Der Parser arbeitet mit drei Bäumen: Quell-, Ziel- und XSLT-Baum.
III.org und seine XML basierte Architektur
Das Dokument präsentiert OpenOffice.org als konkretes Beispiel für die Anwendung von XML. Es beschreibt die Architektur der OpenOffice.org Suite, die auf XML-basierten Datenformaten beruht. Ausnahme bildet der Formel-Editor (Math), der MathML verwendet. Die Dateiendungen (.sxw, .sxc, .sxi, .sxd, .sxm, .sxg) und die interne Struktur der Dokumente (ZIP-Archiv mit XML-Dateien und Binärdaten) werden erklärt. Die Verwendung von DTDs (z.B. office.dtd, manifest.dtd) zur Definition der XML-Struktur wird erläutert. Zukünftige Entwicklungen wie der Einsatz von flachen XML-Strukturen und die XMerge-Schnittstelle werden angedeutet. Wichtige Akteure des Projekts sind Sun Microsystems (ursprüngliche Gründung), sowie die OpenOffice.org Community (aktuelle Entwicklung). Die Version 1.0.3.1 wird explizit genannt und ein Downloadlink (http://de.openoffice.org/about-downloads.html - dieser Link ist möglicherweise veraltet) angegeben. Die Bedeutung von offenen APIs und der gesteigerten Kompatibilität durch den Einsatz von XML wird hervorgehoben.
1. OpenOffice.org Ein Open Source Projekt mit XML basierter Architektur
Der Abschnitt stellt OpenOffice.org als Open-Source-Projekt vor, das große Anerkennung in der Open-Source-Community genießt. Es wurde von Sun Microsystems Inc. gegründet, indem die Technologie der StarOffice Productivity Suite freigegeben wurde. Die Weiterentwicklung liegt nun in den Händen der OpenOffice.org Community. Das Ziel ist die Entwicklung einer international führenden Office-Suite mit frei zugänglichem Quellcode. OpenOffice.org bietet ein vollständiges Office-Paket mit Textverarbeitung (Writer), Tabellenkalkulation (Calc), Präsentationsprogramm (Impress), Zeichenmodul (Draw), Formeleditor (Math) und Dateiformatwandler. Zusätzliche Pakete für Silbentrennung, Rechtschreibprüfung und Anleitungen sind verfügbar. Die Version 1.0.3.1 wird explizit genannt, und ein (möglicherweise veralteter) Download-Link zur Verfügung gestellt. Die offiziellen Webseiten bieten Quellcode, Projektinformationen, ein Diskussionsforum und Aufgaben für die Community. OpenOffice.org-Dokumente sind gebündelte, gepackte Dateien im ZIP-Format, die neben XML-Daten auch Binärdaten (z.B. Bilder) enthalten. Eine zusätzliche XML-Datei (meta.xml) beschreibt den Inhalt des Pakets und kann weitere Informationen wie Verschlüsselungsmethoden enthalten. Alle Dateien außer meta.xml sind komprimiert, um den schnellen Zugriff auf Metadaten zu gewährleisten. Die meisten OpenOffice.org-Anwendungen verwenden XML-basierte Dateiformate, mit Ausnahme des Formel-Editors (Math), der MathML nutzt.
2. Das interne XML Datenformat von OpenOffice.org
Der Text beschreibt die XML-basierte Architektur von OpenOffice.org-Dokumenten. Alle Anwendungen, außer dem Formel-Editor (Math), nutzen XML-basierte Dateiformate, die in einer veröffentlichten Spezifikation definiert sind. Die Math-Komponente verwendet MathML, eine XML-basierte Sprache für mathematische Formeln. Die OpenOffice.org Suite enthält mehrere Document Type Definitions (DTDs). Für die meisten Dokumente werden jedoch nur zwei DTDs referenziert: office.dtd und manifest.dtd. Die Struktur der XML-Daten wird anhand von Beispielen illustriert. Es werden unter anderem Listenelemente (text:ordered-list und text:unordered-list) erwähnt. Weitere Attribute für Listen sind in der veröffentlichten XML-Spezifikation von OpenOffice.org (Link im Dokument) oder in der DTD für Text (text.mod) zu finden. Die aktuelle Implementierung erlaubt nur eingeschränkte Möglichkeiten, eigene Attribute hinzuzufügen, die nicht in der OpenOffice.org DTD enthalten sind. Es gibt Ansätze, um eigenen Inhalt über style:properties-Elemente in der Textverarbeitung zu verknüpfen, und weitere Möglichkeiten werden für zukünftige Versionen angedacht (Import/Export über die SAX-Schnittstelle, Austausch von DocBook-Informationen über die XMerge-Schnittstelle). Die experimentelle Erforschung flacher XML-Strukturen ohne Komprimierung wird erwähnt.
3. Zukünftige Entwicklungen und Herausforderungen
Der Abschnitt diskutiert zukünftige Entwicklungen und Herausforderungen der OpenOffice.org XML-Architektur. Es wird erwähnt, dass die aktuelle Struktur nur eine Lösungsvariante darstellt. Die beschränkten Möglichkeiten, eigene Attribute hinzuzufügen, werden als Schwachstelle dargestellt. Es werden Ansätze für zukünftige Verbesserungen diskutiert, darunter der Im- und Export von XML-Daten über die SAX-Schnittstelle und der Austausch von DocBook-Informationen über die XMerge-Schnittstelle. Die experimentelle Erforschung von flachen XML-Strukturen ohne Komprimierung wird als weiterer Ansatz erwähnt. Diese Ansätze befinden sich jedoch noch im experimentellen Stadium. Die OpenOffice.org Suite referenziert nur zwei DTDs für die meisten Dokumente: office.dtd und manifest.dtd. Die Verwendung von Parsern zur Umwandlung von XML-Dokumenten in andere Formate wird erwähnt, wobei die Unterschiede zwischen SAX- und DOM-Parsern in Bezug auf die Performance und den Speicherbedarf beleuchtet werden. Die Ziele des OpenOffice.org Projekts werden im Kontext der XML-basierten Architektur kurz umrissen: Die Schaffung einer gemeinsamen Codebasis für Open-Source-Applikationen, die Entwicklung neuer Märkte durch plattformübergreifende Kompatibilität, transparente Schnittstellen und die Nutzung des XML-basierten Datenformats. Die Etablierung eines erweiterbaren, XML-basierten Dateiformats und sprachunabhängiger APIs sind weitere wichtige Ziele.
IV.XML Parser und ihre Funktionsweise
Das Dokument stellt verschiedene XML-Parser vor, die für die Verarbeitung von XML-Dokumenten unerlässlich sind. Es werden die Unterschiede zwischen SAX-Parsern (ereignisorientiert, sequentiell) und DOM-Parsern (baumorientiert, ganzes Dokument im Speicher) erläutert. Die Bedeutung von Application Programming Interfaces (APIs) für den Zugriff auf XML-Daten wird betont. Der Markt für XML-Parser (über 60 Parser für Java, C, C++, Delphi) wird kurz skizziert, wobei die Verfügbarkeit vieler kostenloser Parser hervorgehoben wird.
1. Die Notwendigkeit von XML Parsern
Der Abschnitt betont die Notwendigkeit von XML-Parsern, um XML-Dokumente in andere Formate umzuwandeln oder in spezielle XML-Dokumente zu transformieren. Ein Parser liest das Quelldokument und die XSLT-Anweisungen ein, prüft die Wohlgeformtheit und gegebenenfalls die Gültigkeit und verarbeitet diese zu einem neuen Dokument. Die Abarbeitungsfolge hängt von der verwendeten API ab. Die Verwendung von Parsern ist unabdingbar für die Verarbeitung von XML-Dateien, insbesondere im Zusammenhang mit der Transformation von Daten mithilfe von XSLT. Es gibt Parser, die nur die Validierung durchführen und Fehlermeldungen zurückgeben. Um auf die Dokumente selbst zuzugreifen, werden Application Programming Interfaces (APIs) benötigt. Der Großteil der Parser unterstützt SAX und viele auch DOM, einige inzwischen auch Schemas. Die meisten Parser sind kostenlos verfügbar, nur wenige sind kommerziell. Es existieren über sechzig Parser, vor allem für Java, C, C++, und Delphi.
2. SAX und DOM Parser Unterschiede und Anwendung
Der Text beschreibt zwei wichtige Arten von XML-Parsern: SAX (Simple API for XML) und DOM (Document Object Model). SAX-Parser lesen das XML-Dokument sequentiell und ereignisorientiert ein, was sie für den Einsatz in ressourcenbeschränkten Umgebungen geeignet macht. DOM-Parser hingegen laden das gesamte Dokument in den Speicher, was zu einem höheren Speicherbedarf und einer langsameren Performance bei großen Dokumenten führt, aber den Vorteil bietet, dass das gesamte Dokument als Baumstruktur im Arbeitsspeicher verfügbar ist. Die Wahl des Parsers hängt daher von der Größe des Dokuments und den Anforderungen an die Performance ab. Fast alle Parser unterstützen SAX, viele DOM, und einige unterstützen auch Schemas. Die Auswahl der Parser basiert auf der Häufigkeit in der Literatur und deren Leistungsfähigkeit. Der Text nennt die Unterstützung von SAX, DOM und Schemas als wichtige Kriterien für die Auswahl eines Parsers. Die Verarbeitung von XSLT-Dokumenten durch den Parser wird beschrieben. Sowohl Quelldokument als auch Zieldokument werden als Baumstrukturen betrachtet, der Parser arbeitet also letztendlich mit drei Bäumen (Quelldokument, Zieldokument und XSLT-Dokument).
3. Beispiel OpenOffice.org und die content.xml
Der Abschnitt illustriert die Parser-Funktionalität anhand eines Beispiels mit OpenOffice.org. Da OpenOffice.org Dateien komprimiert speichert, wird die content.xml als Beispiel gewählt, die durch ein Template erzeugt und später in das Paket eingebunden wird. Das Dokument, welches den Inhalt beinhaltet, benötigt den Verweis auf die DTD von OpenOffice.org. Ein Beispiel zur Erläuterung der Parser-Funktionalität beinhaltet die Ausgabe von Requirements und Features in Tabellen. Das Problem der rekursiven Ansprache untergeordneter Ebenen (Kind-Knoten) wird thematisiert. Es ist notwendig, die Tabellen- und Listenanweisungen von OpenOffice.org zu implementieren. Ein Stylesheet wird als Beispiel gezeigt, mit einer Output-Definition, Haupttemplate und weiteren Templates zur Ausgabe von Werten, die Style-Anweisungen und Absatzformatierung erhalten. Der Parser verarbeitet die Anweisungen des XSLT-Dokumentes und sucht nach passenden Templates, um die Anweisungen auf die Knoten anzuwenden. Das Document Object Model (DOM) wird als vom W3C standardisiertes Modell genannt, bei dem das gesamte Dokument zuerst eingelesen und als Baumstruktur aufgebaut wird, bevor die Ausgabe erfolgt. Diese Methode ist bei großen Dokumenten speicherintensiver und langsamer als die SAX-Methode.
V.Zukunft und Ausblick für XML
Abschließend wird der rasante Fortschritt in der XML-Entwicklung hervorgehoben und ein Ausblick auf zukünftige Anwendungen gegeben. Die zunehmende Bedeutung von XML im Web-Bereich, in der Wirtschaft (z.B. EDI, ERP, CRM, SCM), und für den Print-on-Demand Bereich wird betont. Der Erfolg von OpenOffice.org (18 Millionen Downloads bis Oktober 2003) veranschaulicht den erfolgreichen Einsatz von XML in Open-Source-Projekten. Das Xperanto-Projekt von IBM wird als Beispiel für den Einsatz von XML in der Unternehmensdatenintegration genannt.
1. Der Markt der XML Parser
Der Abschnitt beschreibt die Vielfalt an verfügbaren XML-Parsern. Es gibt über sechzig Parser, hauptsächlich für Java, C, C++, und Delphi. Die Funktionen reichen von einfacher Validierung mit Fehlermeldungen bis hin zum Zugriff auf die Dokumentdaten mittels Application Programming Interfaces (APIs). Die meisten Parser unterstützen SAX (Simple API for XML), viele unterstützen DOM (Document Object Model), und einige inzwischen auch Schemas. Ein Großteil der XML-Parser ist kostenlos verfügbar, nur wenige, wie z.B. CMarkup für C++ und Delphi, sind kommerziell. Die im Text vorgestellten Parser unterstützen alle SAX, DOM und Schemas. Die Auswahl erfolgte aufgrund der Häufigkeit in der Literatur und der Leistungsfähigkeit.
2. SAX und DOM Parser im Vergleich
Der Text vergleicht SAX- und DOM-Parser. SAX-Parser verarbeiten XML-Dokumente sequentiell und ereignisorientiert. Dies macht sie effizient für große Dokumente, da sie nur den jeweils benötigten Teil des Dokuments im Speicher halten. DOM-Parser hingegen laden das gesamte Dokument in den Speicher und bauen eine Baumstruktur (Document Object Model) auf. Dieser Ansatz ermöglicht einen einfachen, aber bei großen Dokumenten ressourcenintensiveren Zugriff auf alle Daten. Die Wahl zwischen SAX und DOM hängt von den jeweiligen Anforderungen an Performance und Speicherverbrauch ab. Der DOM-Parser, offiziell vom W3C standardisiert, erzeugt Objekte für Elemente, Attribute, Text, Kommentare usw. und ordnet sie hierarchisch an. Erst nach vollständiger Analyse wird das Ergebnis ausgegeben. Für größere Dokumente führt dies zu höherem Speicherbedarf und geringerer Performance im Vergleich zu SAX-Parsern.
3. XML Parser und XSLT Ein gemeinsames Vorgehen
Der Abschnitt erläutert die Interaktion von XML-Parsern und XSLT (Extensible Stylesheet Language Transformations) bei der Transformation von XML-Dokumenten. XSLT ist eine deklarative Sprache, die das Ergebnis der Transformation beschreibt. Die Templates im Stylesheet legen fest, wie ein Knoten aus dem Quelldokument im Zieldokument dargestellt werden soll. Der Parser durchläuft die Knoten des XML-Quelldokuments und sucht nach passenden Templates. Gefundene Templates werden angewendet, um das Zieldokument zu erstellen. Der Parser arbeitet dabei mit drei Baumstrukturen: dem XML-Quelldokument, dem XSLT-Dokument und dem resultierenden XML-Zieldokument. Die OpenOffice.org-Dateien werden als komprimierte ZIP-Archive dargestellt, wobei die content.xml als Beispiel für ein XML-Dokument genannt wird, das durch ein Template erzeugt und später in das Paket eingebunden wird. Ein konkretes Beispiel beschreibt die Ausgabe von Requirements und Features in Tabellenzellen, wobei die rekursive Ansprache von Kind-Knoten eine Herausforderung darstellt. Hier müssen die Tabellen- und Listenanweisungen von OpenOffice.org implementiert werden.
Dokumentreferenz
- Das deutsche OpenOffice.org Portal
- OpenOffice.org XML File Format 1.0, Technical Reference Manual