XML im Database Publishing. Anspruch und Wirklichkeit


Diplomarbeit, 2001
75 Seiten, Note: 2

Leseprobe

INHALTSVERZEICHNIS

1 Einführung
1.1 Ausgangssituation und Problembeschreibung
1.2 Zielsetzung der Arbeit und Begrenzung des Themas
1.3 Vorgehensweise und Aufbau der Arbeit
1.4 Die Firma Systemgruppe

2 XML – Die Grundlagen
2.1 Das Konzept der Auszeichnungssprache
2.2 Spezielle Markierungssprachen
2.2.1 Standard Generalized Markup Language (SGML)
2.2.2 Hypertext Markup Language (HTML)
2.2.3 eXtensible Markup Language (XML)
2.2.4 Die historische Entwicklung / Gesamtzusammenhang
2.3 Die Bestandteile vom XML
2.3.1 Die XML Terminologie
2.3.2 Die Dokumenttyp-Definition (DTD)
2.3.2.1 Der XML-Prozessor
2.3.2.2 Gültige XML-Dokumente
2.3.2.3 Wohlgeformte XML-Dokumente
2.3.3 XML Schema
2.3.4 Die eXtensible Stylesheet Language (XSL und XSLT)
2.3.4.1 Was ist ein Stylesheet ?
2.3.4.2 Die XSL Transformations (XSLT)
2.3.4.3 Die eXtensible Stylesheet Language (XSL)
2.3.4.4 Das Verhältnis von XSLT zu XSL
2.4 Das Anwendungsspektrum
2.5 Die Vorteile und Nachteile von XML

3 Was ist Database Publishing ?
3.1 Ausgangslage
3.2 Definition und Anwendung
3.3 Der Aufbau und die Funktionsweise eines DBP-Systems
3.4 Die Vorteile von Database Publishing
3.5 Das Datenmodell des Database Publishing
3.5.1 Abstraktionsstrukturen im DBP
3.5.1.1 Die Datenstruktur
3.5.1.2 Die Dokumentstruktur
3.5.1.3 Beschreibung der Präsentation
3.5.2 Allgemeines Datenmodell

4 Die Anforderungen an das Database Publishing
4.1 Die Anforderungen an die Datenebene
4.1.1 Die Datenmodelle
4.1.2 Unterstützung von Multimedia-Formaten
4.1.3 Unterstützung externer Daten
4.1.4 Plattform- und Systemunabhängigkeit der Daten
4.2 Die Anforderungen an die Prozeßsteuerung
4.3 Die Anforderungen an die Präsentationsebene
4.3.1 Satzprogramm zur Layoutbeschreibung
4.3.2 Strukturiertes und austauschbares Layout
4.3.3 Professionelle Formatierungsmöglichkeiten
4.4 Die Anforderungen an die Schnittstellen
4.4.1 Die Schnittstelle zwischen Datenbank und Prozeßsteuerung
4.4.2 Die Schnittstelle zwischen Prozeßsteuerung und Präsentation

5 XML und Database Publishing
5.1 Die Datenebene
5.1.1 Die Datenmodelle
5.1.2 Die Einbindung externer und multimedialer Dateien
5.1.3 Plattform- und Systemunabhängigkeit von XML
5.2 Die Prozeßsteuerung
5.3 Die Präsentationsebene
5.3.1 XML-Unterstützung in aktuellen Satzprogrammen
5.3.2 Strukturiertes und austauschbares Layout
5.3.3 Die Formatierungsmöglichkeiten von XSL
5.4 Die Schnittstellen
5.4.1 Datenbankanbindung und Datenbankzugriff
5.4.2 Ausgabeformate

6 Database Publishing-Software

7 Fazit und Ausblick

ABKÜRZUNGSVERZEICHNIS

Abbildung in dieser Leseprobe nicht enthalten

ABBILDUNGSVERZEICHNIS

Abbildung 1: Dokumentdarstellung mit WYSIWYG und SGML

Abbildung 2: Die historische Entwicklung bis zu XML

Abbildung 3: Der Zusammenhang zwischen SGML, HTML und XML

Abbildung 4: Die Darstellung der Baum-Struktur im Internet Explorer 5.0

Abbildung 5: Basisstruktur einer E-Mail

Abbildung 6: Struktur eines Fachbuchs

Abbildung 7: Verarbeitung von XML-Daten mit XSL und XSLT

Abbildung 8: Stylesheet-Sprachen und deren Zusammenhänge

Abbildung 9: Aufbau eines einfachen DBP-Systems

Abbildung 10: Das allgemeine Datenmodell des DBP

Abbildung 11: Die Funktionsweise von inForm Xrender

Abbildung 12: Die (vorgesehenen) Fähigkeiten von XEP

1 Einführung

1.1 Ausgangssituation und Problembeschreibung

Steigender Wettbewerb, verstärkter Kostendruck, neue Vetriebswege und erweiterte Möglichkeiten durch Technologien wie das Internet haben in den letzten Jahren für enorme Veränderungen im Bereich der Printproduktion gesorgt. Die Unternehmen sehen sich ständig neuen Situationen und Herausforderungen gegenübergestellt, die sie möglichst schnell und effektiv bewältigen müssen. Verlagshäuser suchen deshalb nach neuen Wegen, ihre Produkte immer günstiger und schneller herzustellen und dabei ihre Daten für verschiedene Ausgabemedien (z.B. Buch, Internet oder CD-ROM) wiederverwertbar zu machen. Zwei häufig in diesem Zusammenhang genannte Schlagworte sind XML (eXtensible Markup Language) und Database Publishing (DBP). Mit der Kombination dieser beiden Techniken erhoffen sich viele eine Revolution im Verlags- und Druckwesen.

1.2 Zielsetzung der Arbeit und Begrenzung des Themas

Ziel der vorliegenden Arbeit ist es, Ansprüche, Bedingungen und Voraussetzungen, die das Database Publishing in Bezug auf den Einsatz von XML verlangt, objektiv aufzuzeigen und im Gegensatz dazu eine realistische Beurteilung abzugeben, inwieweit dies in der Praxis umsetzbar ist. Die Weiterentwicklung von XML und dessen Bestandteilen durch das World Wide Web Consortium (W3C - das Konsortium ist für Standardisierungen im Web verantwortlich) ist immer noch im Gange. Die Ergebnisse dieser Arbeit spiegeln also einen bestimmten Stand im Verlauf der Entwicklung wieder. Nichtsdestotrotz sind die wesentlichen Spezifikationen bereits verabschiedet und finden bereits rege Anwendung in der Praxis, so daß man mit großer Sicherheit annehmen kann, daß sich die Basis von XML nicht mehr entscheidend verändern wird.

1.3 Vorgehensweise und Aufbau der Arbeit

Um ein Grundverständnis für das Thema zu erhalten, folgt zunächst eine allgemeine Einführung in die Thematik der Auszeichnungssprachen, der zugrundeliegenden Konzepte sowie des Basiswissens zu XML (Abschnitt 2). Anschließend wird ein Überblick über das Database Publishing und dessen Konzepte gegeben (Abschnitt 3). Danach werden in Abschnitt 4 die Anforderungen des Database Publishing festgelegt. Abschnitt 5 stellt dann die Verbindung zwischen XML und DBP her. Die Möglichkeiten und noch bestehenden Grenzen von XML im DBP werden aufgezeigt. Den Schluß bildet eine Aufstellung aktueller Softwarelösungen auf dem Markt. Da das Themengebiet XML an sich sehr umfangreich ist, hat der XML-Grundlagenteil dieser Arbeit einen relativ großen Anteil am Gesamtumfang der Arbeit.

1.4 Die Firma Systemgruppe

Gegründet wurde die Firma Systemgruppe im Jahre 1985 von den drei Gesellschaftern Detlev Bremer (Diplom Mathematiker), Christl Maute (Assessorin des Lehramtes für Mathematik und Sport) und Herbert Witschel (Diplom Ingenieur der physikalischen Technik). Die Erfahrungen aus der Tätigkeit bei der Stuttgarter Zeitung im Großrechnerbereich konnten für die Hauptaufgabe dieser Firma eingebracht werden: die Entwicklung datenbankgestützter Software mit individueller Ausrichtung auf Kundenwünsche. Dabei werden die wichtigsten Datenbanken wie MS-SQL-Server, Oracle, Sybase unterstützt und in Standardsoftware wie Microsoft Word / Excel / Outlook oder Adobe Framemaker nahtlos integriert. Ein Beispiel dafür ist das Katalogsystem, das u. a. für die Unternehmen Siemens und Keramag realisiert wurde. Die Firma Systemgruppe besteht heute aus acht Mitarbeitern und vier Auszubildenden.

Zusätzlich ist auch eine Netzwerk-Abteilung integriert, die Kunden mit Bedarf an Lösungen im Netzwerkumfeld eine umfassende Betreuung und Beratung gewährleisten kann. So kann die Systemgruppe einen "Rundumservice" in Hard- und Software bieten.

2 XML – Die Grundlagen

In diesem Kapitel wird im ersten Teil eine allgemeine Einführung in das Konzept der Auszeichnungssprache gegeben und die dazugehörigen Markup-Sprachen Standard Generalized Markup Language (SGML), Hypertext Markup Language (HTML) und XML betrachtet. In zweiten Teil werden die wichtigsten Bestandteile von XML vorgestellt. (Hinweis zum Sprachgebrauch: Die Begriffe „Auszeichnungssprache“ und „Markierungssprache“ bedeuten dasselbe.)

2.1 Das Konzept der Auszeichnungssprache

Das Konzept der Auszeichnung bzw. Markierung hat ihren Ursprung in der Welt des Drucks und der Gestaltung. Der Begriff Markierung bezieht sich dabei ursprünglich auf die Auszeichnung / Kommentierung elektronischer Dokumente zu den beiden folgenden Zwecken:

1. Veränderung oder Formatierung von Text
2. Einrichtung einer Struktur in einem Dokument für die Ausgabe in einem bestimmten Medium, z. B. auf einem Drucker oder im Internet.[1]

Zusätzlich zur optischen Formatierung kann man Markierungen zur Festlegung der Struktur und der Bedeutung / des Kontextes von Textelementen verwenden. Auszeichnungssprachen dienen somit auch der Beschreibung des logischen Aufbaus von Dokumenten[2]. In der Auszeichnungssprache selbst sind verschiedene Befehle definiert, die der optischen und inhaltlichen Strukturierung von Informationen dienen. Diese Befehle werden Markup (Auszeichnung) oder Tag genannt. Hierdurch wird auch die Verbindung zwischen dem Oberbegriff „Auszeichnungssprache“ (englisch: markup language) und den dazugehörigen Markierungssprachen (SGML, HTML, XML) deutlich. Auf Grundlage der Auszeichnungssprache und der dazugehörigen Befehle können dann Dokumente verfaßt und bearbeitet werden.[3]

2.2 Spezielle Markierungssprachen

2.2.1 Standard Generalized Markup Language (SGML)

Die Standard Generalized Markup Language (SGML) ist ein internationaler Standard zur Beschreibung von Dokumenten, der unter der Nummer ISO8879 von der International Organization for Standardization (ISO) 1986 verabschiedet wurde. Die ISO wurde im Jahre 1947 gegründet und umfasst ca. 130 Mitgliedsstaaten. Eine Hauptaufgabe der ISO ist es, die Entwicklung der Standardisierung und der damit zusammenhängenden Aktivitäten sowie die Kooperation auf intellektuellem, wissenschaftlichen, technologischen und ökonomischen Gebiet weltweit zu fördern. Das Ergebnis dieser Arbeit sind eine Vielzahl veröffentlichter Standards, die weltweit Verwendung finden. Veröffentlichte Standards werden durch eine ISO-Nummer gekennzeichnet.[4]

Die zentrale Idee von SGML ist es, die inhaltliche Struktur eines Dokuments von den Wiedergabeanweisungen, also den Informationen über das Erscheinungsbild des Dokuments, zu trennen. Diese Idee stammt aus den 60er Jahren, als Charles Goldfarb, Edward Mosher und Raymond Lorie an einem Informationssystem für IBM arbeiteten, mit dem Dokumente innerhalb verschiedener Systeme verwaltet und publiziert werden konnten. Dazu entwickelten sie die Generic Markup Language, den Vorläufer von SGML. Durch das Generic Markup werden Auszeichnungen in den Text eingebracht, die eine Aussage über die Bedeutung der markierten Textstelle machen, sogenannte 'logische' oder 'semantische' Auszeichnungen.[5]

Mit der Einführung der graphischen Benutzeroberfläche (erstmals mit dem Apple Macintosh im Jahre 1984) und den damit verbundenen Textverarbeitungsprogrammen (wie z. B. Microsoft Word oder Lotus Word Pro) wurde die Trennung von Inhalt und Darstellung außer Kraft gesetzt. Das Konzept des "What You See Is What You Get" (WYSIWYG) war geboren. Erstmals war eine nahezu identische Darstellung von Text auf Papier und auf dem Bildschirm möglich. Textdokumente bildeten nun eine Einheit aus Inhalt, Struktur und Darstellung. Diese Form der Dokumentendarstellung setzte sich sehr schnell durch und wird heute standardmäßig eingesetzt. Die beiden verschiedenen Dokumentenmodelle sind zur Illustration in Abbildung 1 dargestellt.[6]

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: Dokumentdarstellung mit WYSIWYG und SGML

Quelle: Der Verfasser in Anlehnung an Ceponkus, A.; Hoodbhoy, F.: Applied XML. A Toolkit for Programmers, New York 1999, S. 15.

Durch die Trennung von Inhalt und Darstellung in SGML ergeben sich zwei wesentliche Vorteile. Zum einen erreicht man in Hinblick auf die Nutzung der Daten eine vollständige Hard- und Softwareunabhängigkeit. Zum anderen wird durch die inhaltliche Auszeichnung eine Publikation der Daten auf unterschiedlichen Medien (Papier, CD-ROM, WWW usw.) erst ermöglicht bzw. wesentlich vereinfacht. SGML wird dadurch zu einem Metaformat für die universelle Nutzung von Daten und ist deshalb seit vielen Jahren in diversen Branchen in hochentwickelten und komplexen Publikationsanwendungen im Einsatz.[7]

2.2.2 Hypertext Markup Language (HTML)

HTML ist eine SGML-Anwendung und dient der Beschreibung von Dokumenten im Internet . Diese Sprache umfasst einen festen Stamm von definierten Befehlen für die Darstellung von Web-Dokumenten und ist nicht erweiterbar. Sie definiert sowohl die Gestaltung, den Inhalt und die Grafik der Seite als auch die Querverweise (englisch: Hyperlinks) zu eigenen oder fremden Seiten. Als Auszeichnungssprache enthält HTML daher Befehle zum Markieren typischer Elemente eines Dokuments, wie Überschriften, Textabsätze, Listen, Tabellen oder Grafikreferenzen.[8]

HTML basiert auf dem Prinzip des Hypertext. Hypertext zeichnet sich gegenüber normalem Fließtext durch Querverweise zu anderen Dokumenten oder Textstellen aus. Durch Anklicken einer markierten Textstelle oder anderer in den Text eingefügter Objekte (z. B. Grafiken) wird automatisch das referenzierte Dokument bzw. die entsprechende Textstelle angezeigt oder eine Datei auf den Rechner heruntergeladen. Das Prinzip wurde Mitte der 60er Jahre an den Universitäten entwickelt, erlebte seinen Durchbruch aber erst zu Beginn der 90er Jahre. Ende 1989 begann der britische Informatiker Tim Berners-Lee im Kernforschungszentrum CERN in Genf seine ersten Versuche, das Internet für sich zu nutzen. Als Auszeichnungssprache für Hypertexte im Internet entschied er sich für eine einfache auf SGML basierende Sprache: HTML war geboren. Heute ist HTML ein Industriestandard für die Erstellung von Webseiten.[9]

Für die Erfüllung spezifischer Anforderungen reichen die HTML-Strukturierungsmöglichkeiten allein jedoch nicht mehr aus. Die Einschränkungen bei HTML sind beispielsweise die fehlende Datenbankanbindung, keine Möglichkeit anspruchsvoller Gestaltungen, die umständliche Übertragbarkeit auf andere Medien, keine Möglichkeit eigene Elemente zu definieren usw. Dies hat dazu geführt, daß HTML viele Erweiterungen erfahren hat, so z. B. durch Netscape und Microsoft. Die aktuelle Version von HTML, die als Empfehlung vom W3C vorliegt, lautet XHTML 1.0 (eXtensible Hypertext Markup Language) und ist der Nachfolger von HTML 4.0. XHTML soll die Möglichkeiten bei der Erstellung von Web-Dokumenten ausweiten. Die Sprache ist erweiterbar, da sie auf XML basiert (siehe unten).[10]

2.2.3 eXtensible Markup Language (XML)

XML ist eine Untermenge von SGML und dient der Strukturierung und Beschreibung von Daten. Die Version 1.0 wurde im Februar 1998 vom W3C verabschiedet. An der Entwicklung haben sich unter anderem Microsoft, Adobe, Netscape, Hewlett-Packard und Sun beteiligt. Da XML von SGML abstammt, hat XML eine der wichtigsten Eigenschaften von SGML geerbt: die strikte Trennung von Inhalt und Darstellung.[11]

XML ist eine Metasprache, d.h. andere Sprachen bzw. Vokabulare können in XML definiert und entwickelt werden. Eine solche Sprache kann einem Fachgebiet (z. B. der Mathematik) zugeordnet sein und spezielle Befehle enthalten, die nur dort benötigt werden. Es existieren bereits viele dieser auf Basis von XML definierten Auszeichnungssprachen für das Internet. Hier ein Auszug aus den vielfältigen Anwendungsgebieten:

Chemical Markup Language (CML)

Dient der Beschreibung von chemischen Elementen und Vorgängen

Mathematical Markup Language (MathML)

Dient der Beschreibung komplexer mathematischer Formeln

Synchronized Multimedia Integration Language (SMIL)

Zur Integration und Synchronisation von Multimedia-Inhalten

Web Interface Definition Language (WIDL)

Objektorientierte Sprache zum Erstellen dynamischer Internetseiten[12]

XML wurde ursprünglich vom W3C für die Verwendung im World Wide Web ausgelegt und sollte als großer Bruder von HTML fungieren. Gleichermaßen beabsichtigt war aber auch die gute Funktionsfähigkeit in vielen anderen Umgebungen außerhalb des Internets. Mittlerweile haben sich viele weitere Anwendungsbereiche für XML herauskristallisiert (siehe dazu Abschnitt 2.4). Auch wird XML vorerst HTML nicht ablösen, wie es zu den Anfängen von XML hieß. Beide werden sich im Internet-Bereich erst einmal gegenseitig ergänzen.[13]

Bei der Entwicklung von XML wurden Ziele festgelegt, die an dieser Stelle zum besseren Gesamtverständnis dargelegt werden:

Ziel 1: XML soll sich im Internet auf einfache Weise nutzen lassen. Die Ausrichtung auf das Internet wurde bereits oben erwähnt. Der Ausdruck "auf einfache Weise" bezieht sich auf die Abstammung von SGML. Das komplexe und schwer zu implementierende SGML (besonders im Hinblick auf den Einsatz im Web) wurde verschlankt, indem man Teile weggelassen hat, die man nicht länger als notwendig angesehen hat. XML ist deshalb eine deutlich kompaktere Sprache, die aber alle wesentlichen Merkmale von SGML geerbt hat.

Ziel 2: XML soll ein breites Spektrum von Anwendungen unterstützen. Auch dieser Aspekt wurde oben schon erwähnt.

Ziel 3: XML soll kompatibel zu SGML sein. Die Idee dahinter ist, daß XML-Dokumente auch gültige SGML-Dokumente sein sollen, damit vorhandene SGML-Werkzeuge XML-Dokumente verarbeiten können. Umgekehrt ist dies jedoch nicht möglich, da SGML-Dokumente Bestandteile enthalten, die in XML nicht vorgesehen sind.

Ziel 4: Es soll einfach sein, Programme zu schreiben, die XML verarbeiten. Eine neue Sprache ohne entsprechende verfügbare Anwendungen ist in der Praxis nicht oder nur mit großem Aufwand nutzbar und wird keine breite Unterstützung finden. Eine relativ leichte Erlernbarkeit von XML trägt zur Verbreitung derselben bei.

Ziel 5: Die Zahl optionaler Merkmale in XML soll minimal sein (idealerweise Null). Dieses Ziel hat ebenfalls mit der Komplexität von SGML zu tun. In der SGML-Spezifikation sind eine Menge von Optionen enthalten, die aber nur sehr selten verwendet werden. Der Einsatz optionaler Merkmale führt zu Problemen mit der Kompatibilität zwischen verschiedenen Anwendungen. Um dies zu vermeiden, wurde die Zahl der Optionen in XML auf Null reduziert.

Ziel 6: XML-Dokumente sollen für Menschen lesbar und verständlich sein. Eine einfach lesbare Sprache benötigt keine komplizierten Werkzeuge und Vorgehensweisen, um gelesen oder bearbeitet zu werden

Ziel 7: Der XML-Entwurf sollte zügig abgefaßt sein. Dies hat mit der rasanten Entwicklung von HTML und herstellerspezifischen Erweiterungen (siehe Abschnitt 2.2.2) zu tun. Man wollte in möglichst kurzer Zeit einen offenen und erweiterbaren Standard finden, der die Beschränkungen von HTML überwindet, ohne dabei von der Lösung nur eines Herstellers abhängig zu sein.

Ziel 8: Der Entwurf von XML soll formal und präzise sein. Der Wortlaut der XML-Spezifikation soll möglichst leicht zu verstehen und zu gebrauchen sein, um eine rasche Verbreitung zu fördern. Zu diesem Zweck ist die Spezifikation in der Erweiterten Backus-Naur-Form (EBNF) abgefasst. Die EBNF ist eine Standardform, mit der Programmsprachen mit Hilfe von Deklarationen beschrieben werden.

Ziel 9: XML-Dokumente sollen leicht zu erstellen sein. Genauso wie XML-Dokumente leicht lesbar sein sollen, soll auch die Erstellung dieser Dokumente unkompliziert sein. Schon ein einfacher Texteditor reicht aus, um Dokumente in XML zu erstellen.

Ziel 10: Knappheit von XML-Markup ist von minimaler Bedeutung.
Ein weiteres Ziel, daß mit der Beschaffenheit von SGML zusammenhängt. In SGML gibt es Minimierungstechniken für das Schreiben von Programmcode, die dem Autor eines Dokuments Tipparbeit ersparen können. Dies kann zu verwirrenden oder schwer lesbaren Dokumenten für andere Anwender führen und steht somit im Gegensatz zu den vorher genannten Zielen (einfache Lesbarkeit usw.). In XML haben Eindeutigkeit und Klarheit von Markup immer den Vorrang vor der Kürze.[14]

2.2.4 Die historische Entwicklung / Gesamtzusammenhang

In den vorhergehenden Abschnitten hat man gesehen, daß die drei Auszeichnungssprachen SGML, HTML und XML unterschiedlich alt sind und für verschiedene Einsatzgebiete konzipiert wurden. Nachfolgend eine Abbildung zur Veranschaulichung der zeitlichen Entwicklungsstufen der Auszeichnungssprachen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2: Die historische Entwicklung bis zu XML

Quelle: Der Verfasser in Anlehnung an XML in der Praxis, Brehme, Mintert, S.36

Zur abschließenden Verdeutlichung der Zusammenhänge zwischen den drei Markierungssprachen dient Abbildung 3.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 3: Der Zusammenhang zwischen SGML, HTML und XML

Quelle: Der Verfasser in Anlehnung an XML in der Praxis, Brehme, Mintert, S.23

2.3 Die Bestandteile vom XML

2.3.1 Die XML Terminologie

Bevor nun eine nähere Beschäftigung mit XML erfolgt, werden die zwei wichtigen Begriffe Element und Attribut definiert und der grundlegende Aufbau eines XML-Dokuments beschrieben.

Element

Ein XML-Dokument besteht aus einem oder mehreren Elementen. Ein Element ist ein strukturelles Konstrukt, das sich im allgemeinen aus einem Start-Tag, einem End-Tag und dem Inhalt des Elements zusammensetzt.[15] Ein Beispiel für ein Element (hier: Preis) mit dem Inhalt '50.21':

<Preis>50.21</Preis>

Attribut

Attribute werden verwendet, um Elemente inhaltlich genauer zu spezifizieren.[16] Im vorhergehenden Beispiel wird ein Preis definiert, aber es fehlt eine eindeutige Währungszuordnung. Es könnte sich um 50,21 DM oder 50,21 EURO handeln. Mit Hilfe des Attributs 'Waehrung', das den Wert 'DM' hat, wird das Element 'Preis' verfeinert. Attribute werden häufig auch verwendet, um das Standard-Verhalten eines Elements zu definieren.

<Preis Waehrung="DM">50.21</Preis>

XML-Baum

XML-Dokumente besitzen eine baumförmige Struktur. Die Datenstruktur weist Knoten (englisch: nodes) auf, die mit der Wurzel (englisch: roo t) beginnen. Jeder dieser Knoten kann selbst wieder Nodes enthalten. Die Äste eines XML-Baumes sind Elemente und deren Inhalte.[17] Der Internet Explorer von Microsoft stellt die Baum-Struktur folgendermaßen dar:

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 4: Die Darstellung der Baum-Struktur im Internet Explorer 5.0

Quelle: Der Verfasser

2.3.2 Die Dokumenttyp-Definition (DTD)

Ein zentrales Konzept von XML ist der Dokumenttyp. Der Dokumenttyp beschreibt eine Klasse von Dokumenten, die sich in dem Aufbau ihrer Struktur gleichen und dieselben Elemente enthalten. Die DTD bestimmt die Regeln, wie Elemente, Attribute und andere Daten definiert werden und in welchem logischen Bezug sie zueinander in einem XML-Dokument stehen. Sie ist also der Ausdruck einer XML-Dokumentstruktur. DTDs eignen sich auch zur Festlegung eines gemeinsamen branchenspezifischen Vokabulars. Ein allgemein bekanntes Beispiel für einen einfachen Dokumenttyp ist eine 'E‑Mail'. E‑Mails bestehen im wesentlichen aus einem Empfänger, einem Absender, einem Thema (dem Betreff), der eigentlichen Nachricht und eventuell einer Signatur des Absenders. Die hierarchische Basisstruktur ist in der folgenden Baumgliederung dargestellt.[18]

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 5: Basisstruktur einer E-Mail

Quelle: der Verfasser

Ein anderer Dokumenttyp ist das 'Buch' bzw. 'Fachbuch'. Der Grobaufbau ist Titelei, Hauptteil, Anhangteil. Die Titelei enthält den Buchtitel, das Impressum, das Vorwort, das Inhaltsverzeichnis und eventuell eine Widmung und Danksagung. Der Hauptteil besteht aus einer Folge von Kapiteln. Kapitel sind ebenfalls im Anhangteil zu finden. Die Tatsache, daß diese anders dargestellt werden als Kapitel im Hauptteil (Kapitelüberschriften im Anhang sind normalerweise mit einem Buchstaben versehen, während Kapitel im Hauptteil durchnumeriert werden) spielt für die eigentliche Strukturierung des Dokuments keine Rolle. Ferner gibt es im Anhangteil eines Fachbuchs besondere Abschnitte wie z. B. ein Glossar, ein Literaturverzeichnis oder ein Stichwortverzeichnis.[19]

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 6: Struktur eines Fachbuchs

Quelle: der Verfasser

Die formale Definition eines Dokumenttyps in XML muß die Flexibilität besitzen, die Gemeinsamkeiten der Dokumente festzulegen, aber zugleich genügend Spielraum für ein konkretes Dokument zu lassen. So wird ein Buch mit fünf Kapiteln nicht der Vertreter eines anderen Dokumenttyps sein als ein Buch mit acht Kapiteln. Fehlt jedoch einem Buch der Titel, so spricht man von einem strukturellen Fehler. Die Dokumenttypdefinition muß also den Titel als zwingenden Bestandteil enthalten, die Anzahl der Kapitel aber offenlassen. Diese Art von Regeln werden in der DTD festgelegt.[20]

XML bietet die Möglichkeit, Dokumenttyp-Definitionen für beliebige Arten von Dokumenten zu formulieren. Die bekannteste DTD ist die HTML-DTD und definiert die Hypertext Markup Language. Die HTML-DTD ist im Gegensatz zu XML nicht erweiterbar und läßt sich somit auch nicht anpassen. Da alle HTML-Dokumente auf dieser einen DTD basieren, müssen also folglich alle Dokumente im Internet vom gleichen Typ sein. Dies ist aber in der Realität nicht der Fall: HTML-Dokumente sind z. B. Homepages, wissenschaftliche Abhandlungen, Bücher, Gedichte, Kochrezepte, Börsenkurse, Veranstaltungskalender usw. XML behebt diese Schwäche, da jeder eine eigene DTD entwerfen kann, die für die eigenen Daten maßgeschneidert ist.[21]

Eine Besonderheit von XML im Vergleich zu SGML ist, daß ein SGML-Dokument unbedingt eine DTD benötigt, während dies bei einem XML-Dokument optional ist.[22]

2.3.2.1 Der XML-Prozessor

In Zusammenhang mit der DTD ist der XML-Prozessor (auch XML-Parser genannt) zu erwähnen. Ein XML-Prozessor verarbeitet XML-Dokumente. Die Aufgaben des Parsers bei der Verarbeitung eines Dokuments sind:

- Bestimmung, ob das Dokument wohlgeformt (siehe 2.3.2.3) ist und eventuell die Ausgabe von Fehlermeldungen
- Zusammenführen von Bestandteilen eines Dokuments, die sich in verschiedenen Dateien befinden
- Erstellung einer Baumstruktur, durch die die Inhalte der Elemente für eine Anwendung zugreifbar werden

Man unterscheidet zwischen validierenden und nicht-validierenden Parsern. Validierende Parser prüfen auf Gültigkeit, nicht-validierende prüfen lediglich auf Wohlgeformtheit der zu verarbeitenden XML-Dokumente (siehe die beiden nächsten Abschnitte).[23]

2.3.2.2 Gültige XML-Dokumente

Ein XML-Dokument ist gültig, wenn es über eine DTD verfügt, auf diese DTD ausgerichtet ist und den in der DTD festgelegten Regeln entspricht. Auf die DTD muß am Anfang des XML-Dokuments verwiesen werden. Dabei ist es gleichgültig, ob sich die DTD am Anfang des XML-Dokuments (interne DTD) oder in einer separaten Datei (externe DTD) befindet, auf die verwiesen wird.[24]

2.3.2.3 Wohlgeformte XML-Dokumente

Ein Dokument, das nicht über eine DTD verfügt, kann immer noch als wohlgeformt gelten. Voraussetzung ist, daß das Dokument eine Reihe von Wohlgeformtheitsregeln einhält.

1. Alle Start- und End-Tags müssen miteinander übereinstimmen.
2. Leere Elemente verwenden eine spezielle XML-Syntax.
3. Alle Attributwerte müssen in Anführungszeichen stehen.
4. Alle Entities sind deklariert. (Entities sind wiederverwendbare Datenblöcke, die durch 'Platzhalter' in ein XML-Dokument oder in eine DTD eingefügt werden können. Entities haben einen Namen und einen Inhalt. Durch Anführung des Entity-Namen wird der Parser dazu gebracht, den Inhalt des Entity in das Dokument oder in die DTD einzufügen.)

Verstöße gegen die Wohlgeformtheit haben weitaus größere Auswirkungen als Verstöße gegen die Gültigkeit. Ein Parser, der an einen Wohlgeformtheitsverstoß gerät, wird einen außerordentlichen Fehler feststellen und die Aufbereitung des Dokuments abbrechen. Bei Verstößen gegen die Gültigkeit wird das entsprechende Dokument einfach nur "DTD-los". Es kann dann immer noch ohne die DTD weiterverarbeitet werden. Dies hat zur Folge, daß das nun nur noch wohlgeformte Dokument (falls es den Wohlgeformt­heitsregeln entspricht) nicht mehr automatisch mit anderen XML-Dokumenten, die auf der gemeinsamen DTD basieren, verwendet werden kann.[25]

2.3.3 XML Schema

Im vorherigen Abschnitt wurde das Konzept der DTD eingeführt. Dieses Konzept wurde bei der Entwicklung von XML von dessen Muttersprache SGML übernommen. Im Laufe der Zeit stellte sich heraus, daß die DTD für die Bedürfnisse zukünftiger Anwendungen nicht ausreichend sein würde. DTDs definieren die gültige Reihenfolge und die Verschachtelung von Elementen. Hier gibt es einige Einschränkungen:

- DTDs verwenden keine XML-Syntax
- DTDs können keine Einschränkungen für den Inhalt von Elementen machen
- Die Verwendung von Datentypen ist sehr begrenzt
- DTDs besitzen einen komplexen Erweiterungsmechanismus[26]

Also suchte man nach einem neuen Mechanismus, der leistungsfähiger und flexibler als DTD ist. Die Lösung war das XML Schema. Ein Schema dient zur Beschreibung der Struktur und zum Beschränken des Inhalts von XML-Dokumenten sowie dem Zuordnen von Datentypen zu XML-Elementtypen und -attributen (Boolesche, Dezimalwerte und auch Zeitintervalle werden unterstützt). Die Beschreibung der Struktur erfolgt ähnlich wie bei einer DTD, jedoch nicht in der DTD-Syntax sondern in der XML-eigenen Syntax. Das Schema-Modell legt die möglichen Anordnungen von Tags und Textbausteinen in einem gültigen Dokument fest. Schemata verwenden Einschränkungen, die festlegen, was in bestimmten Zusammenhängen verwendet werden darf. Zwei mögliche Einschränkungen sind prinzipiell vorgesehen: Das erste Modell beschreibt die Reihenfolge von Elementen, Datentypen und gültigen Dateneinheiten. Über ein Schema kann z. B. vorgegeben werden, daß Adressen aus den Elementen Name, Straße, Stadt, Postleitzahl und Land bestehen - und zwar in exakt dieser Reihenfolge. Beim zweiten Modell läßt sich über Schemata festlegen, daß das Element Postleitzahl einen fünfstelligen Zahlenwert enthalten muß und keinen Text enthalten darf.[27]

DTDs sind aber immer noch der Standard. Nahezu alle aktuellen XML-Softwaretools unterstützen DTDs. Es ist allerdings absehbar, daß XML-Schemata die klassischen DTDs ablösen werden. Wie schnell dies passieren wird, ist noch unklar. Die Ausbreitung der XML-Schemata ist vor allem abhängig von der verfügbaren Software und der Unterstützung der großen Unternehmen auf dem Markt.[28]

2.3.4 Die eXtensible Stylesheet Language (XSL und XSLT)

Die Trennung von Inhalt und Darstellung in XML wurde bereits in den vorhergehenden Abschnitten angesprochen. Ein XML-Dokument enthält nur strukturierte Daten, aber keine Formatierungsanweisungen, also Informationen über das "Aussehen" der Daten. Wie soll also eine Anwendung, z. B. ein Internet-Browser, wissen, wie die Daten dargestellt werden sollen? Zu diesem Zweck wurde vom W3C die eXtensible Stylesheet Language entwickelt, die aus den beiden Sprachen XSLT (Abschnitt 2.3.4.2) und XSL (Abschnitt 2.3.4.3) besteht. XSLT Version 1.0 ist bereits seit dem 16. November 1999 eine W3C-Empfehlung. XSL selbst ist seit dem 21. November 2000 ein Kandidat für die W3C-Empfehlung und wird voraussichtlich zu Beginn des Jahres 2001 eine offizielle Empfehlung des Konsortiums werden. Während der Entstehung dieser Arbeit hat das W3C am 12. Dezember 2000 einen ersten Entwurf für die XSLT Version 1.1 veröffentlicht.[29] Die beiden XSL-Sprachen und das Konzept eines Stylesheets werden in den nächsten Abschnitten behandelt.

2.3.4.1 Was ist ein Stylesheet ?

XSL basiert auf dem Konzept der Stylesheets. Ein Stylesheet wird normalerweise benutzt, um Stile und Informationen zur Formatierung konsistent in einem Dokument zu verwenden. Dabei wird der eigentliche Inhalt von den Darstellungsinformationen getrennt. Das Stylesheet beinhaltet Formatierungsoperatoren, die das spätere Erscheinungsbild eines Dokuments festlegen. Die Informationen über das Aussehen der Daten sind normalerweise in einer separaten Stylesheet-Datei abgelegt, auf die dann im eigentlichen Dokument verwiesen wird. Die am häufigsten verwendete Form von Stylesheets basiert auf der W3C-Spezifikation der Cascading Style Sheets (CSS), die in Verbindung mit HTML verwendet wird. CSS gestattet es, Klassen von Stilen zu definieren, die in einem HTML-Dokument angewendet werden.[30] CSS kann auch auf XML-Dokumente angewendet werden, jedoch ist das Ergebnis nur auf die Anzeige in Browsern beschränkt (also genau wie bei einem HTML-Dokument) und deshalb nicht weiter interessant für die weiteren Überlegungen zum Publishing. Die Stylesheet-Sprache für SGML heißt DSSSL (Document Style Semantics and Specification Language). Sie dient der Verarbeitung und Formatierung von SGML-Dokumenten, kann aber auch für XML-Dokumente genutzt werden. Auch in diesem Fall können mit Hilfe von Stylesheets XML-Dokumente in HTML umgewandelt und anschließend in Browsern angezeigt werden. DSSSL besteht aus den zwei Komponenten Transformationssprache und Stilsprache. Die Transformationssprache verwandelt SGML-Dokumente, die nach einer bestimmten DTD kodiert sind, in ein Format, daß einer anderen DTD entspricht. Die Stilsprache legt für Teile eines Dokuments fest, wie diese aussehen sollen.[31]

2.3.4.2 Die XSL Transformations (XSLT)

XSL Transformations entspricht der Transformationssprache in DSSSL. XSLT ist eine Sprache für die Umwandlung von XML-Dokumenten, die auf einer bestimmten DTD basieren, in andere XML-Dokumente, die auf Basis einer anderen DTD definiert werden. XSLT ermöglicht durch die Definition von Mechanismen die Dokumententransformation von einer zur anderen Struktur.[32]

Bei einer Transformation liest der XSL-Prozessor das XML-Dokument und das dazugehörige XSL-Stylesheet. Aus den im XSL-Stylesheet enthaltenen Anweisungen erzeugt der Prozessor ein neues XML-Dokument. Eine bedeutende Rolle für den Umwandlungsprozeß spielen die Template-Regeln, die in einem XSL-Dokument enthalten sind. Eine Template-Regel enthält so genannte Patterns (Muster). In den Patterns ist spezifiziert, welche Ausgangsinhalte gegen neue Inhalte ausgetauscht werden. Obwohl die XSLT-Spezifikation noch relativ neu ist, gibt es bereits viele XSLT-fähige Werkzeuge. Die bekanntesten Tools sind XT von James Clark (http://www.jclark.com) und SAXON von Michael Kay (http://users.iclway.co.uk/mhkay/saxon/).[33]

2.3.4.3 Die eXtensible Stylesheet Language (XSL)

XSL entspricht der Stilsprache in DSSSL und ist eine Formatierungssprache, die für die Verwendung in XML-Dokumenten gemacht ist. XSL ist genau genommen eine Anwendung von XML, so daß sich Struktur und Syntax in XML und XSL entsprechen. XSL verfügt über den Umfang von XSLT hinaus über ein XML-Vokabular für die Angabe von Formatierungsinformationen. Bei dieser Formatierungssprache handelt es sich um einen speziellen Dokumenttyp, deren Elemente Formatierungsobjekte (FO) bezeichnen. Aus diesem Grund wird dieser Typ auch XSL-FO genannt. Die Formatierungsobjekte sind baumartig angeordnet, wie es auch bei der XML-Syntax der Fall ist. Ein XSL-Stylesheet beschreibt den Prozeß, mit dem die Ausgabestruktur erzeugt wird, und besteht aus einer oder mehreren Vorlagen, die wiederum Muster enthalten. XSL verwendet diese Muster zur Spezifikation von XML-Elementen, auf die die XSL-Vorlage angewendet wird. Aufgrund dieser Methode der Musterübereinstimmung gehört XSL zu den deklarativen Sprachen, d.h. Muster beschreiben den betreffenden Knoten in einem Dokumentbaum, indem sie seine hierarchische Struktur innerhalb des Baums angeben.[34]

2.3.4.4 Das Verhältnis von XSLT zu XSL

Das Interessante an XSL ist, daß die beiden XSL-Funktionen Transformation und Formatierung zwar aufeinander aufbauen, aber ebenso unabhängig voneinander funktionieren. So kann beispielsweise der Transformationsmechanismus ein XML-Dokument in ein HTML-Dokument konvertieren und dabei ein XSL-Formatierungsobjekt ignorieren. Um mit XSL formatieren zu können, muß in einem vorhergehenden Transformationsprozeß aus beliebigen XML-Daten XSL-FO erzeugt werden, welches dann durch ein Formatprogramm in das entsprechende Ausgabeformat umgesetzt wird. Welches Format ausgegeben wird, hängt davon ab, an welchen XSL-Prozessor das Dokument und das Stylesheet übergeben werden. Dieser Vorgang wird in Abbildung 7 dargestellt.[35]

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 7: Verarbeitung von XML-Daten mit XSL und XSLT

Quelle: Der Verfasser in Anlehnung an XML in der Praxis, Brehme, Mintert, S.148

Hier zeigt sich deutlich der Unterschied zwischen XSLT und XSL. Während XSLT bestehende XML-Dokumente in andere XML-konforme, weiterverarbeitbare Dokumente umwandelt, dient XSL der Endausgabe proprietärer (Dokument)Formate.

Den Abschluß des XSL-Abschnitts bildet Darstellung 8, welche die drei Stylesheet-Sprachen CSS, DSSSL und XSL/XSLT in einen Gesamtzusammenhang bringt.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 8: Stylesheet-Sprachen und deren Zusammenhänge

Quelle: Der Verfasser in Anlehnung an XML in der Praxis, Brehme, Mintert, S.23

[...]


[1] Vgl. Pardi, J.: XML in Action, Unterschleißheim 1999, S. 4.

[2] Vgl. http://www.glossar.de/

[3] Vgl. Pardi, J. a.a.O., S. 5.

[4] Vgl. Pardi, J. a.a.O., S. 12.

[5] Vgl. Tittel, E.; Mikula, N.; Chandak, R.: XML für Dummies, Bonn 2000, S. 59 f.

[6] Vgl. Behme, H.; Mintert, S.: XML in der Praxis. Professionelles Web-Publishing mit der Extensible Markup Language, München 2000, S. 34 f.

[7] Vgl. http://www.mid-heidelberg.de.

[8] Vgl. http://www.teamone.de/selfhtml/

[9] Vgl. Behme, H.; Mintert, S. a.a.O., S. 33 ff.

[10] Vgl. http://www.glossar.de.

[11] Vgl. http://www.glossar.de.

[12] Vgl. Pott, O.; Wielage, G.: XML. Praxis und Referenz, München 1999, S. 46.

[13] Vgl. Pardi, J. a.a.O., S. 15 f.

[14] Vgl. Pardi, J. a.a.O., S. 22 ff.

[15] Vgl. Eckstein, R.: XML. Kurz und gut, Köln 2000, S. 6 ff.

[16] Vgl. Eckstein, R.: XML. Kurz und gut, Köln 2000, S. 6 ff.

[17] Vgl. http://www.on-luebeck.de/doku/xml.

[18] Vgl. http://computerphilologie.uni-muenchen.de.

[19] Vgl. http://computerphilologie.uni-muenchen.de.

[20] Vgl. http://computerphilologie.uni-muenchen.de.

[21] Vgl. http://computerphilologie.uni-muenchen.de.

[22] Vgl. Tittel, E.; Mikula, N.; Chandak, R. a.a.O., S. 62.

[23] Vgl. http://www.on-luebeck.de/doku/xml.

[24] Vgl. http://www.on-luebeck.de/doku/xml.

[25] Vgl. http://www.on-luebeck.de/doku/xml.

[26] Vgl. Pardi, J. a.a.O., S. 217 f.

[27] Vgl. Reibold, H.: Flexible Grammatik, in: Internet Professionell 09/2000, S. 108.

[28] Vgl. Reibold, H. a.a.O., S. 108.

[29] Vgl. http://www.w3c.org.

[30] Vgl. Pardi, J. a.a.O., S. 155 f.

[31] Vgl. Behme, H.; Mintert, S. a.a.O., S. 123 ff.

[32] Vgl. Reibold, H.: Verwandlungskünstler, in: Internet Professionell 09/2000, S. 107.

[33] Vgl. Reibold, H.: Verwandlungskünstler, in: Internet Professionell 09/2000, S. 107.

[34] Vgl. Behme, H.; Mintert, S. a.a.O., S. 134 f.

[35] Vgl. Behme, H.; Mintert, S. a.a.O., S. 147 f.

Ende der Leseprobe aus 75 Seiten

Details

Titel
XML im Database Publishing. Anspruch und Wirklichkeit
Hochschule
Hochschule für Wirtschaft und Umwelt Nürtingen-Geislingen; Standort Nürtingen
Note
2
Autor
Jahr
2001
Seiten
75
Katalognummer
V185565
ISBN (eBook)
9783656983507
Dateigröße
1285 KB
Sprache
Deutsch
Schlagworte
database, publishing, anspruch, wirklichkeit
Arbeit zitieren
Zeljko Benacic (Autor), 2001, XML im Database Publishing. Anspruch und Wirklichkeit, München, GRIN Verlag, https://www.grin.com/document/185565

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: XML im Database Publishing. Anspruch und Wirklichkeit


Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden