Inhaltsverzeichnis
Abkürzungsverzeichnis
Abbildungsverzeichnis
1 Einleitung
2 XML - Extensible Markup Language
2.1 XML-Grundlagen
2.1.1 Entwicklungsgeschichte
2.1.2 XML Allgemein
2.1.3 XML versus HTML
2.1.4 Aufbau und Syntax eines XML-Dokuments
2.2 DTD und XMLSchema
2.2.1 Dokumenttyp-Deklaration (DTD)
2.2.2 XMLSchema
2.2.3 Namensräume
3 Die Formatierung von XML-Dokumenten
3.1 CSS - Cascading Stylesheet Language
3.2 XSL - Extensible Stylesheet Language
3.2.1 XSLT - XSL Transformations
3.2.2 XSL-FO - XSL Formatting Objects
4 Anwendungsbeispiel:
Die flexible Darstellung von IDML-Reporting-Dokumenten
4.1 IDML Allgemein
4.2 IDML Reporting
4.3 Formatierung eines IDML-Reporting-Dokuments
5 Schlussbemerkung
6 Anhang
A.1 Projektreport
A.2 Stylesheet 1
A.3 Stylesheet 2
7 Literatur und Quellen
Abkürzungsverzeichnis
Abbildung in dieser Leseprobe nicht enthalten
Abbildungsverzeichnis
Abbildung 1: Beispieldokument gliederung.xml
Abbildung 2: Beispiel einer DTD
Abbildung 3: Beispiel eines Schemas
Abbildung 4: Beispiel eines CSS-Stylesheets
Abbildung 5: Darstellung im Browser
Abbildung 6: Beispiel eines XSL-Stylesheets
Abbildung 7: HTML-Output
Abbildung 8: Stylesheet zur Umwandlung eine XML-Dokuments in ein XSL-FO-Dokument
Abbildung 9: Das erzeugte XSL-FO-Dokument
Abbildung 10: Überblick IDML-Reporting Schema
Abbildung 11: Beispielstylesheet 1
Abbildung 12: Beispielstylesheet 2
Abbildung 13 : Darstellung im Browser
1. Einleitung
Seit der Empfehlung des XML 1.0 Standards durch das W3C hat sich XML mit grosser Geschwindigkeit in der IT-Welt verbreitet. XML wird heute in Gebieten der IT eingesetzt, an die niemand bei der Entwicklung des Standards gedacht hätte. XML entwickelt sich immer mehr zum Format der Wahl für den Austausch und die Speicherung von Informationen im Internet [Harold/Means 2001, S. 243]. In dieser Arbeit soll dargestellt werden wie XML-Dokumente mit Hilfe von XSL fexibel präsentiert werden können.
In einem ersten Schritt sollen dazu zunächst die Grundlagen von XML erarbeitet werden. Als erstes wird die Entwicklungsgeschichte von XML betrachtet. Danach der grundlegende Unterschied zwischen XML und HTML kurz dargestellt. Im weiteren wird die Syntax und der Aufbau von XML-Dokumenten erläutert. Anschliessend werden die zwei grundlegenden Mechanismen zur Definition von Dokument- Strukturen vorgestellt (DTD und XMLSchema).
Im dritten Kapitel werden drei verschiedene Möglichkeiten der Präsentation von XML- Dokumenten kurz vorgestellt. Es wird sich dabei herausstellen, dass nur eine dieser drei Möglichkeiten zur Zeit für die Präsentation von XML-Dokumenten auf dem Web praktikabel ist.
Die so erarbeiteten Grundlagen von XML und der Präsentation von XML-Dokumenten werden in einem letzten Schritt mit einem konkreten Anwendungsbeispiel noch weiter verdeutlicht. Dazu werden zu einem IDML-Reporting-Dokument (IDML- Reporting ist eine XML-Applikation) einige Beispielstylesheets entworfen.
Diese Arbeit kann und soll keine vollständige Einführung in XML sein. Die vorgestellten Möglichkeiten zur flexiblen Formatierung von XML-Dokumenten sind nur ein kleiner Ausschnitt aus der Vielzahl von Darstellungsmitteln die XSL bietet. Für weitergehende Informationen zu XML selbst oder zur Darstellung von XML- Dokumenten sei auf die im Quellenverzeichnis angegebenen Titel und Webseiten verwiesen.
2. XML – Extensible Markup Language
Dieses Kapitel gibt eine kurzen Einblick in XML.
2.1 XML Grundlagen
Zunächst wird kurz die Entwicklungsgeschichte dargestellt. Im weiteren wird kurz besprochen was XML eigentlich ist. Es folgt ein Abschnitt, der den Unterschied zwischen XML und HTML erläutert. Schliesslich wird ein Blick auf die Syntax von XML geworfen.
2.1.1 Entwicklungsgeschichte
XML ist eine Untermenge der Standard Generalized Markup Language (SGML).
„SGML ist der Standard zur Beschreibung von Dokumenten festgelegt von der International Standardization Organization (ISO), der unter der Nummer ISO 8879 im Jahr 1986 veröffentlicht wurde. Das Ziel und die Idee dieses Standards ist es, die Struktur des Inhalts eines Dokuments von seiner layoutorientierten Erscheinungsform zu trennen.“
[Hofmann/Raitelhuber 1998, S. 2]
SGML ist gut geeignet für grosse Organisationen, die anspruchsvolle Standards für ihre Dokumente benötigen. Aufgrund seiner Komplexität (die Spezifikation von SGML umfasst 155 Seiten) fand es aber ausserhalb von grossen Organisationen kaum Verbreitung. Mit dem Boom des Internet anfangs der Neunziger Jahre kam das Bedürfnis nach einer einfachen Auszeichnungssprache für Webseiten auf. Dies führte zur Entwicklung der Hypertext Markup Language (HTML). Der erste Standard von HTML (HTML 1.0 DTD) wurde 1993 publiziert [Günther 1997]. HTML ist auf die Präsentation von Webseiten ausgerichtet zu mehr ist es, als rein darstellungsorientierte Sprache, kaum in der Lage. Mit HTML wurde ein grundlegendes Konzept von SGML, die Trennung von Form und Inhalt eines Do- kuments, aufgegeben. Mit der enormen Verbreitung von HTML fielen zunehmend auch die Unzulänglichkeiten der Sprache auf. HTML bietet bei weitem nicht mehr die Leistungsfähigkeit, die SGML besass. So begann 1996 die Entwicklung von XML, die zum Ziel hatte eine vereinfachte Version von SGML zu schaffen ohne dabei die Leistungsfähigkeit von SGML einzubüssen
[Harold/Means 2001, S. 8ff]. Die Version 1.0 von XML wurde am 10. Februar 1998 durch das World Wide Web Consortium (W3C) verabschiedet [W3CX 1998].
2.1.2 XML Allgemein
Die Extensible Markup Language (XML) ist eine Metasprache zur Definition von anwendungsspezifischen Dokumenttypen [Dünhölter 1998, S. 2]. Eine Metasprache ist eine Sprache mit der andere Sprachen definiert werden können. So bildet zum Beispiel die deutsche Grammatik zusammen mit dem deutschen Wörterbuch ein Metasprache für geschriebenes Deutsch [Astra 2002]. Dokumenttypen sind Dokumente die in ihrem Aufbau dem gleichen Grundmuster folgen (zum Beispiel HTML-Dokumente). HTML wurde vom W3C als Dokumenttyp in XML neu formuliert (vgl. dazu [W3CH 2000]).
2.1.3 XML versus HTML
Im Gegensatz zu HTML (Hypertext Markup Language) beschreiben Tags in XML die darin eingeschlossenen Daten und sind nicht nur Formatierungsanweisungen. Um diesen Unterschied deutlich zu machen folgt ein kurzes Beispiel.
In einem HTML-Dokument könnte folgendes stehen:
<td>1700</td>
Was aber repräsentiert die Zahl 1700?
- Ist es der Preis eines Computersystems?
- Die Postleitzahl von Fribourg?
- Das Geburtsjahr von Daniel Bernoulli?
- Die Anzahl Studenten an der Rechtswissenschaftlichen Fakultät der Universität Zürich?
Es könnte alles von dem oben genannten sein! Der Tag <td> kennzeichnet in HTML eine Zelle einer Tabelle. <td> ist also eine reine Formatierungsanweisung und beinhaltet keinerlei Information darüber, was die Zahl 1700 repräsentiert [Tidwell 2001, S. 5].
Das primäre Ziel von HTML ist die Formatierung eines Dokuments. Inhalt und Form eines Dokuments werden bei HTML nicht getrennt. Doch genau diese Trennung von Inhalt und Form ist ein etabliertes Prinzip in der Druckindustrie [Tidwell 2001, S. 5]. Im Gegensatz zu einem HTML-Dokument enthält ein XML-Dokument keinerlei Formatierungsanweisungen. So könnte der Tag
<Postleitzahl>1700</Postleitzahl>
in XML die Zahl 1700 als Postleitzahl kennzeichnen. Damit wird die Identifikation der inhaltlichen Bedeutung der Zahl 1700 möglich. Die Identifikation der inhaltlichen Bedeutung ist die Voraussetzung für eine maschinelle Weiterverarbeitung der Daten. Durch die Kennzeichnung von Inhalten wird es für Programme wesentlich einfacher Informationen in Dokumenten zu finden. So ist es zum Beispiel sehr einfach den Preis eines Produktes in einem XML-Dokument zu finden, wenn dieser beispielsweise mit einem Tag wie <preis>20.99</preis> gekennzeichnet ist. Sehr viel schwieriger gestaltet sich im Gegensatz dazu die Suche nach dem Preis eines Produktes in einem HTML-Dokument. XML ist im Gegensatz zu HTML nicht auf die reine Präsentation von Dokumenten ausgerichtet sondern bietet als strukturelle Auszeichnungssprache wesentlich mehr.
2.1.4. Aufbau und Syntax eines XML-Dokuments
Im weiteren wird anhand eines Beispiel der Aufbau von XML-Dokumenten erläutert. Abbildung 1 zeigt wie ein XML-Dokument aussehen könnte.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1: Beispieldokument gliederung.xml
Der Prolog oder die XML-Deklaration hat die Attribute version, encoding und standalone. Version ist die XML Version, auf der das Dokument basiert (der bisher einzige mögliche Wert ist 1.0). Encoding gibt den Zeichensatz an, in dem das XML- Dokument kodiert ist. Die Angabe der Kodierung ist optional. Fehlt sie wird als Kodierung der Unicode-Zeichensatz1 angenommen. Besitzt das Attribut standalone den Wert „no“, so beruht das XML-Dokument auf einer externen Dokumenttyp- Deklaration (DTD). Die XML-Deklaration muss als erstes im XML-Dokument stehen, es dürfe keine Kommentare oder Steueranweisungen vor ihr auftauchen.
Die Dokumenttyp-Deklaration gibt an, dass „Gliederung“ das Wurzelelement des Dokuments ist und dass die Dokumenttyp-Deklaration unter der URL F:\idml\Beispiele\Gliederung2.dtd zu finden ist.
Die Steueranweisung gibt in diesem Fall ein Stylesheet an, mit dem das Dokument in einem Browser dargestellt werden soll.
Ein Element beginnt mit einem Start-Tag (<tag>) und endet mit einem End-Tag (</tag>). Der Inhalt des Elements wird zwischen Start- und End-Tag eingeschlossen. Im Gegensatz zu HTML sind Elemente ohne End-Tags in XML nicht erlaubt (in HMTL hat beispielsweise <br> keinen End-Tag). <tag> </tag> kann in XML wahlweise auch als <tag/> geschrieben werden. Elemente dürfen sich in XML nicht überschneiden, eine Kombination wie zum Beispiel <b> fett <i> kursiv-fett</b> kursiv </i> [Tidwell 2001, S. 7], die in HTML erlaubt wäre, ist in XML nicht möglich. Jedes XML-Dokument muss genau ein Wurzelelement enthalten, das die übrigen Elemente umschliesst. Das Element „Gliederung“ ist das Wurzelelement des Beispieldokuments. Es enthält das Kindelement Kapitel, das seinerseits wieder das Elternelement von Kapiteltitel und Unterkapitel ist. Ein XML-Dokument bildet folglich eine Art Baumstruktur, dies wird in Kapitel 3.2.1 eine wichtige Rolle spielen, wenn es um die Transformation eines XML-Dokuments in ein anderes Dokument geht.
Ein XML Dokument kann mit Kommentaren versehen werden. Kommentare beginnen mit
<!-- und enden mit -->. Kommentare dürfen nicht verschachtelt werden und nicht innerhalb eines Tags auftauchen [Harold/Means 2001, S. 14ff].
Entspricht ein XML-Dokument vollständig der Syntax von XML so spricht man von einem wohlgeformten (wellformed) Dokument.2 XML-Dokumente müssen zwingend wohlgeformt sein.
Ein XML-Dokument mag zwar für einen Menschen lesbar sein, hat aber alleine keine Aussagekraft (für eine Maschine). Eine Maschine benötigt weitere Informationen über die Elemente die in einem XML-Dokument vorkommen. Diese Informationen werden der Maschine durch DTDs geliefert [Schädler 2001].
Das Beispieldokument (gliederung.xml) beruht auf einer DTD, welche im folgenden genauer untersucht werden soll.
2.2 DTD und XMLSchema
In diesem Kapitel sollen zwei grundlegende Mechanismen zur Definition von Dokument-Strukturen vorgestellt werden.
2.2.1 Dokumenttyp-Deklaration (DTD)
Die Dokumenttyp-Deklaration des Beispieldokuments (gliederung.xml) ist in Abbildung 2 dargestellt.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2: Beispiel einer DTD
In einer DTD werden alle Elemente deklariert, die in einem XML-Dokument, das sich an diese DTD hält, vorkommen dürfen. Element-Deklartionen besitzen die folgende Grundform:
<!ELEMENT Elementname (Inhaltsmodell)>
Das Inhaltsmodell beschreibt, welche Kinder ein Element in welcher Reihenfolge haben kann oder muss [Harold/Means 2001, S. 37]. Die zweite Zeile im Beispiel definiert ein Element mit dem Namen Gliederung, das als Kinderelemente ein oder mehrere Elemente vom Typ Kapitel enthalten kann. Die dritte Zeile gibt an, dass das Element Kapitel genau einen Kapiteltitel und ein oder mehrere Unterkapitel enthält. Die fünf letzten Zeilen definieren die Elemente Abschnittstitel, Kapiteltitel, Unterkapitel und Abschnittstext als "parsed character data" also reinen Text und ein Attribut "AnzahlSeiten" zum Element Kapitel, das optional (implied) ist. Eine ausführliche Beschreibung von DTDs findet sich in [Harold/Means 2001, S. 29ff] oder [W3CX 1998].
2.2.2 XMLSchema
Eine DTD sagt niemals etwas über die Bedeutung oder die erlaubten Werte des Inhalts eines Elements aus [Harold/Means 2001]. DTDs stellen lediglich einen Datentyp bereit (PCDATA, also Text). DTDs waren nur dazu gedacht Texte zu digitalisieren, wozu dieser eine Datentyp auch ausreichend war.
[...]
1 Unicode ist ein Zeichensatz, der gross genug ist um sämtliche Schriftzeichen aller Sprachen aufzunehmen. Eine genauere Beschreibung findet sich in [Unicode 2002].
2 Die aufgezählten Syntax-Regeln sind bei weitem nicht vollständig. Eine vollständige Beschreibung der XML-Syntax findet sich in [W3CX 1998].
- Arbeit zitieren
- Dominic Giger (Autor:in), 2002, XSL zur flexiblen Darstellung von XML-Dokumenten, München, GRIN Verlag, https://www.grin.com/document/107011
-
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen.