XMLidP2000

Sitemap

Sitemap

1 Einführung
1.1 Warum mehr weniger ist
1.2 Warum mehr mehr ist
1.3 Wohin die Reise geht
2 Was sind Dokumente?
2.1 Eine kurze Geschichte der Textverarbeitung
2.2 Bestandteile eines Dokumentes
2.3 Die neue, alte Idee: Strukturorientiert schreiben
2.4 Die Entwicklung des Hypertextes
2.5 Textformate im Web
2.6 Das SGML-Konzept: Generic Markup
2.7 Dokumente versus Daten
3 XML im Web
3.1 XML bei der Verwaltung von Websites
3.2 Clientseitige XML-Interpretation
3.2.1 XML mit CSS
3.2.2 XML mit XSL(T)
3.3 XML auf dem Server
3.4 Linking-Möglichkeiten von XML
3.5 XML als Datenaustauschformat
4 XML Quick Start
4.1 Dokumenttyp-Definition (DTD) und Instanzen
4.2 Verarbeitung der Dokumente
4.2.1 Beispiel: Verarbeitung mit Cost/TCL
4.2.2 Beispiel: Verarbeitung mit XSLT
4.2.3 Beispiel: XML/XSLT im Internet Explorer
4.2.4 Fazit
5 XML-DTDs: Die verständliche Beschreibung
5.1 Ein Wort zur Notation
5.2 Dokumente
5.3 Elemente
5.4 Zeichen, Namen und Zeichendaten
5.5 Kommentare
5.6 Processing Instructions
5.7 Wo bleibt Multimedia?
5.8 Dokumenttyp-Definition (DTD)
5.8.1 Elementtyp-Deklaration
5.8.2 Attributlisten-Deklaration
5.8.3 Möglichkeiten, die DTD zu gestalten und zu gliedern
5.8.4 Notation-Deklaration
6 Namensräume in XML
7 XPath: Adressierung von XML-Dokumentteilen
7.1 Zu Grunde liegendes Datenmodell
7.2 Zugriff auf den Datenbaum
7.3 Hilfe von Operatoren
7.4 Kernfunktionen für den Datenzugriff
8 XML: Linking
8.1 Notwendige Begriffe
8.2 XLink: einfache und erweiterte Links
8.2.1 Einfache Verweise
8.2.2 Erweiterte Links
8.2.3 XLink in der Praxis
8.3 XPointer: Verweise in Dokumente hinein
8.3.1 XPath-Erweiterungen in XPointer
9 Überblick über Stylesheet-Sprachen
9.1 Cascading Style Sheets
9.1.1 Wertzuweisungen
9.1.2 Formatierungsmodell
9.1.3 CSS und XML
9.1.4 Ein Beispiel: XML im Mozilla
9.2 Document Style Semantics and Specification Language
9.2.1 Flow Objects
9.2.2 Verarbeitungs-Modus
9.2.3 DSSSL praktisch
9.2.4 Langer Marsch von DSSSL nach HTML
9.3 Extensible Stylesheet Language (XSLT und XSL)
9.3.1 Verhältnis von XSLT zu XSL
9.3.2 Formatierung mit XSL
10 XSL-Transformationen
10.1 Grundsätzliches über Templates
10.2 Ergänzungen zum Datenmodell von XPath
10.3 Struktur von XSLT-Stylesheets
10.4 Den Ergebnisbaum erzeugen
10.4.1 Diverse Basiselemente
10.4.2 Formatierte Nummerierung
10.4.3 Schleifen und bedingte Verarbeitung
10.4.4 Sortieren
10.4.5 Variable und Parameter
10.4.6 Zusätzliche Funktionen
10.4.7 XSLT-Erweiterungen
10.4.8 message, output
11 XSLT in Web-Anwendungen
11.1 XSLT im Internet Explorer
11.2 Linklisten erzeugen
11.3 Details einer Literaturgeschichte
11.3.1 Sortierte Überblicksseiten
11.3.2 Kalender: einzelne Tage ausgeben
12 XML-Editoren
12.1 Übersicht
12.1.1 Emacs + PSGML (mit XML-Unterstützung)
12.1.2 XML Notepad
12.1.3 XML Spy
12.1.4 XMetal
12.1.5 Epic
12.1.6 MarkupKit (für MS Word)
12.1.7 WordPerfect Office2000
12.2 Emacs und PSGML (mit XML-Unterstützung)
12.3 XML-Notepad
12.4 XML Spy
12.5 XMetal
12.6 Epic
12.7 MarkupKit (für MS Word)
12.8 WordPerfect Office2000
12.9 Fazit
13 Entwicklung einer DTD
13.1 Auswahl einer Mehrzweck-DTD
13.2 Entwurf einer DTD
13.2.1 Dokumentanalyse
13.2.2 Tipps und Tricks
13.3 Instanzen ohne DTD
14 Herstellung dieses Buches
14.1 Zielsetzung und Randbedingungen
14.2 Definition der DTD
14.2.1 Schritt 1: Die Grobstruktur
14.2.2 Schritt 2: Elemente auf Zeichenebene
14.2.3 Schritt 3: Die Details
14.3 Formatieren des Manuskriptes
14.3.1 Konvertierung in HTML
14.3.2 Aufbereitung für den Ausdruck
14.4 Erfahrungen mit der zweiten Auflage
15 Anwendungsbeispiel Literatur
15.1 Vorüberlegungen
15.2 En détail: die Autoren in der DTD
15.3 Wie die Daten ins Web gelangen
15.3.1 Inhaltsverzeichnis generieren
15.3.2 Ausgabe der Autorendaten
15.4 Vollständige Listings
15.4.1 DTD für die Literaturgeschichte
15.4.2 DSSSL-Listing: Inhaltsverzeichnis
15.4.3 DSSSL-Listing: Ausgabe eines einzelnen Autors
15.4.4 Perl-Code für Ausgabe einzelner Autoren
16 Verteilte Softwareverwaltung mit XML
16.1 Aufgabenbeschreibung
16.2 XML als Datenbasis
16.3 Bilden von DTD-Hierarchien
16.4 Zusammentragen von verteilten XML-Fragmenten
16.5 Fazit
16.6 Stylesheet zur Transformation in HTML
17 E-Commerce mit XML
17.1 B2B-E-Commerce
17.1.1 Die Rolle von XML
17.1.2 Technische Aspekte
17.2 BMEcat
17.3 Electronic Business XML (ebXML)
17.3.1 Arbeitsgruppen
17.3.2 Zeitplan des Projekts
17.4 XML und EDIFACT
18 XML und Apache
18.1 XML-Transformation per CGI
18.1.1 Konfiguration des Servers
18.1.2 CGI-Skript: xmlhandler.cgi
18.1.3 Beispiel: von HTML nach HTML mit DSSSL oder XSLT
18.2 Cocoon
18.2.1 Extensible Server Pages (XSP)
18.2.2 Beispiel: Formatierung in PDF mit XSL
18.2.3 Beispiel: Simuliertes XLink mit Dynamic HTML/JavaScript
18.2.4 Installation
19 XHTML: Neues HTML 4 — erweiterbar
19.1 Status quo: HTML neu definiert
19.2 Modulare Zukunft
20 Transformation von XML in WML und HTML
20.1 Erzeugen der WML-Dateien
20.2 Erzeugen der HTML-Dateien
21 Ausblick
21.1 XML Schema
21.2 Programmierung mit XML-Daten
21.3 XML und Java
21.4 Resource Description Framework
21.5 Die Zukunft
A Extensible Markup Language (XML) 1.0
A.1 Einleitung
A.1.1 Herkunft und Ziele
A.1.2 Terminologie
A.2 Dokumente
A.2.1 Wohlgeformte XML-Dokumente
A.2.2 Zeichen
A.2.3 Allgemeine syntaktische Konstrukte
A.2.4 Zeichendaten und Markup
A.2.5 Kommentare
A.2.6 Processing Instructions
A.2.7 CDATA-Abschnitte
A.2.8 Prolog und Dokumenttyp-Deklaration
A.2.9 Standalone-Dokumentdeklaration
A.2.10 Behandlung von Leerraum
A.2.11 Behandlung des Zeilenendes
A.2.12 Identifikation der Sprache
A.3 Logische Strukturen
A.3.1 Start-Tags, End-Tags und Leeres-Element-Tags
A.3.2 Elementtyp-Deklarationen
A.3.3 Attributlisten-Deklaration
A.3.4 Bedingte Abschnitte
A.4 Physikalische Strukturen
A.4.1 Zeichen- und Entity-Referenzen
A.4.2 Entity-Deklarationen
A.4.3 Analysierte Entities
A.4.4 Behandlung von Entities und Referenzen durch einen XML-Prozessor
A.4.5 Konstruktion des Ersetzungstextes von internen Entities
A.4.6 Vordefinierte Entities
A.4.7 Notation-Deklarationen
A.4.8 Dokument-Entity
A.5 Konformität
A.5.1 Validierende und nicht-validierende Prozessoren
A.5.2 Benutzen von XML-Prozessoren
A.6 Notation
A.7 Anhang A: Referenzen
A.7.1 Normative Referenzen
A.7.2 Weitere Referenzen
A.8 Anhang B: Zeichenklassen
A.9 Anhang C: XML und SGML (nicht normativ)
A.10 Anhang D: Expansion von Entity- und Zeichenreferenzen (nicht normativ)
A.11 Anhang E: Deterministische Inhaltsmodelle (nicht normativ)
A.12 Anhang F: Automatische Erkennung von Zeichenkodierungen (nicht normativ)
A.13 Anhang G: XML-Arbeitsgruppe des W3C (nicht normativ)
B Verknüpfen von Style Sheets mit XML-Dokumenten Version 1.0
B.1 Die xml-stylesheet-Processing-Instruction
B.2 Anhang A: Referenzen
B.3 Anhang B: Begründung
C Verhältnis von XML zu SGML und HTML
C.1 XML und SGML
C.2 XML und HTML
D Übersichten
D.1 Cascading Style Sheets
D.1.1 CSS-Eigenschaften und -Werte
D.1.2 CSS-Muster
D.2 DSSSL: Flow Objects
D.3 Syntax der XSLT-Elemente
D.4 DTD-Fragment für XSLT-Stylesheets (nicht normativ)
D.5 Relevante Spezifikationen und Organisationen
D.5.1 International Organization for Standardization
D.5.2 World Wide Web Consortium
D.5.3 Organization for the Advancement of Structured Information Standards
D.5.4 Internet Society und Internet Engineering Task Force
D.5.5 ISO-639-Sprachcodes
D.5.6 ISO-3166-Ländercodes
D.5.7 Zeichensatz ISO-Latin-1
D.5.8 Sonderzeichen
D.6 XML-1.0-Regeln

1 Einführung

In here, thi trik is thinkin rite. Thas all u 1/2 2 do. U 1/2 2 think rite. U 1/2 2 b dairing & koshis, u 1/2 2 b ver sensibil & totily mad. Moast ov ol u 1/2 2 b cluvir, u 1/2 2 b ingenius. U 1/2 2 b abil 2 use whatevir is aroun u, & thass whot it reely cums doun 2; [...] so iss up 2 u reely what yoos u make ov it aftir that; iss ol about injinooty [...]FussnoteDiese Sprache ist nicht wirklich übersetzbar, aber wenigstens ein Versuch in einem Deutsch, das dem Original nacheifert, muss sein: Hia drin is der Trik: richtich denkn. Das alles, wassu machn muss. Dumus richtich denkn. Mus waagemuutich un voorsichtich sein, mus seer sänsibel und völich verük sein. Vor allem mussu klewwa sein — und ährfinnungsreich. Du mus als nuzn könn, was um dich rum soda ist, das eintlich als; [...] is dein Bier, wassu damit anfengs; als nua Finnungsgeiß [...]

Iain M. Banks

So schwer verständlich wie dieses Motto, das einem britischen Science-Fiction-RomanFussnoteEr heißt Feersum Endjinn, stammt aus dem Jahre 1994 und enthält auch Passagen in normalem Englisch. entnommen ist, auf den ersten Blick wirkt, wird sich die Lektüre dieses Buches — hoffentlich — nicht gestalten. Denn wer dieses Buch liest, weiß aller Wahrscheinlichkeit nach zumindest, was die Hypertext Markup Language ist beziehungsweise wofür das Kürzel HTML steht.

Im günstigen Fall haben potenzielle LeserinnenFussnoteDass es sich auch um männliche Vertreter dieser Gattung handeln darf, versteht sich von selbst. schon einmal selbst Hand an eine HTML-Datei gelegt, entweder mit einem WYSIWYG-Werkzeug oder gar im Quelltext. Letzteres wäre insofern eine ideale Voraussetzung, als dieses Buch naturgemäß viele Beispiele enthält, die in keinem WYSIWYG-Editor zu sehen sind, da es sich um Quelltexte handelt. Viele davon sind mit etwas HTML-Kenntnissen lesbar. Selbst die Beschreibungen von Dokumentstrukturen, die Dokumenttyp-Definitionen (DTD), mit denen man sich in HTML nie herumschlagen muss, sind so leicht verdaulich wie handelsübliche ProsaFussnoteHier sei dahingestellt, ob die DTD-Prosa eher Trivialliteratur oder Thomas Manns Zauberberg entspricht; letzteres wäre natürlich mehr als anmaßend.. In jedem Fall wollen wir lieber eine Erläuterung zu viel als eine zu wenig vorsehen. Und das fängt bei den drei Buchstaben XML an.

XML: erweiterbare Auszeichnungssprache

Die Extensible Markup Language, wie diese neue Sprache bei aufgelöstem Akronym heißt, ist nicht als Ersatz für HTML gedacht — das zur Beruhigung aller, die die Web-Auszeichnungssprache gerade gelernt haben. Sie ist mehr als HTML, weil sie erlaubt, etwas zu tun, das man bislang im Web nur mit zusätzlichen Werkzeugen — und in geringem Umfang — tun konnte: beliebige Elemente verwendenFussnoteGemeint ist hier, dass einige Werkzeuge dem festen Satz an HTML-Elementen neue hinzufügen, die vor der Ausgabe an den Browser ein Programm wandeln beziehungsweise bearbeiten. Als Beispiel sei das Element gtext genannt, das nur der Web-Server Roxen kennt und der so markierten Text als grafische Zeichen ausgibt.. In der Objektorientierung hieße das Äquivalent abstrakte Datentypen (selbst geschaffene, wie Person et cetera, im Gegensatz zu den vorgegebenen, wie int oder char), und diese beliebigen Elemente werden sich als roter Faden durch das gesamte Buch ziehen.

Beispiel

Um an dieser Stelle noch nicht allzu tief in XML einzudringen, sei nur ein winziges Beispiel angeführt: In HTML gibt es die — und nur die — in der HTML-DTD vorgesehenen Elemente wie H1 oder BLOCKQUOTE. In XML dagegen kann sich jede(r) beliebig viele eigene Elemente definieren: von REZEPT über URLAUBSERINNERUNG bis hin zu STRASSE, etwa in einem privaten Adressbuch.

So enthielte eine Beschreibung der Struktur (d.i. die oben genannte Dokumenttyp-Definition) für ein Adressbuch wahrscheinlich außer einem Element wie ADRESSBUCH (das das gesamte Dokument einschließt, wie das Element HTML in Web-Dokumenten) weitere Elemente wie VORWAHL, TELNR und PLZ, die innerhalb einer ADRESSEFussnoteADRESSBUCH wäre hier gewissermaßen die Bezeichnung für die Art des Dokuments, wohingegen die einzelnen Adressen dessen Inhalt bilden. Genauer: Ein Adressbuch enthält beliebig viele Adressen, diese wiederum Namen und Straßenbezeichnungen et cetera. hierarchisch geschachtelt wären (und sein müssen).

Grenzen von HTML

HTML ist mittlerweile eine recht komplizierte Sprache geworden. Version 4 [ragg98] [ragg98]HTML 4 - Web-Publishing mit dem neuen HTML-Standard - Web-Publishing mit dem neuen HTML-Standard, Dave Raggett, Jenny Lam, Ian Alexander, Michael Kmiec, Bonn, 1998, Addison-Wesley beinhaltet wesentlich mehr, als Tim Berners-Lee sich Ende der achtziger, Anfang der neunziger Jahre hätte träumen lassen. Dennoch hat HTML gewisse Grenzen. Da ist zum einen der eingeschränkte Vorrat an Elementtypen (von HTML selbst bis zu P und EM), zum anderen besteht die Gefahr, dass der vielbeschworene Standard allmählich auseinander driftet. Dem war natürlich etwas entgegenzusetzen. Womit wir bei XML sind — und ob respektive wie dieser neue Standard dieses Auseinandertreiben verhindern kann.

Hinter fremden Dingen kann sich Spaß verbergen. Das oben zitierte Motto steht hier unter anderem dafür — und natürlich hat es inhaltlich mit dem zu tun, was in diesem und den nächsten Kapiteln folgt. Denn angemessenes (Nach-)Denken (thinkin rite) kann bei beliebig tief strukturierten Dokumenten — um die geht es schließlich — nicht verkehrt sein; vor allem dann, wenn sie (auf unterschiedliche Weise) beim Leser beziehungsweise Surfer ankommen sollen.

Um das Motto noch ein wenig zu strapazieren: Ein Dokument bedeutet das, was diejenigen, die es verfassen (und diejenigen, die es rezipieren), darin lesen wollen beziehungsweise können. Erfindungsreichtum (injinooty) ist gefragt. Das hat mit dem Thema dieses Buches insofern viel zu tun, als die Extensible Markup Language (XML) andere Fähigkeiten erfordert als die bisherige Sprache des Web (HTML). Neben dem reinen Markup kommen eine formale Beschreibung der Dokumentstruktur sowie Formatvorgaben für die Ausgabe im Web und anderswo hinzu. Formatvorgaben kennen Sie vielleicht über die Cascading Style Sheets (CSS) in HTML.

In Kleinbetrieben etwa dürfte die Strukturbeschreibung des Dokuments (eine Dokumenttyp-Definition) entweder jemand außer Haus erledigen, oder der bisherige HTML-Autor muss anfangen, sich damit zu beschäftigen, wie man derlei zu Wege bringt. In Kapitel 13 ist dazu Einführendes zu lesen.

Hinweis

Bevor es ins Detail geht, soll ein Schaubild den Zusammenhang, in dem sich das Folgende bewegt, deutlich machen. Unten stehende Abbildung zeigt, dass auf der linken Seite SGML, XML und HTML in eine Reihe gehören.

Zusammenhang von SGML,
  XML, HTML, CSS und
  DSSSL

Abbildung 1: Zusammenhang von SGML, XML, HTML, CSS und DSSSL

XML ist eine Teilmenge von SGML. Für beide gilt, dass DSSSL-Stylesheets auf sie anwendbar sind. XML-Daten lassen sich allerdings auch in Verbindung mit CSS, Level 2, anzeigen. HTML schließlich ist eine SGML-Anwendung, eine Dokumenttyp-Definition. Mit ein paar Veränderungen hat das World Wide Web Consortium (W3C) Anfang 2000 HTML als eine Anwendung von XML umgesetzt. Das heißt, das Konsortium hat HTML in XML (statt SGML) neu definiert. Nur für HTML waren ursprünglich die Cascading Style Sheets gedacht, die sich jetzt auch auf XHTML anwenden lassen.

XSL schließlich soll die Stilsprache für XML werden; sie entspricht von den Funktionen her der Online-Variante von DSSSL — beziehungsweise die Tools, die XSL sprechen, werden diese Eigenschaften dem Anwender zur Verfügung stellen. Dabei handelt es sich erstens um die Formatierobjekte (XSL-FO), die aus XML-Dokumenten zum Beispiel Adobes Portable Document Format (PDF) erzeugen, und zweitens die Transformationen (XSLT), die es ermöglichen, XML-Dokumente von einer Struktur in eine andere zu wandeln (beispielsweise ein Adresssbuch in HTML).

Herunter 1.1 Warum mehr weniger ist
Herunter 1.2 Warum mehr mehr ist
Herunter 1.3 Wohin die Reise geht

Valid HTML 4.01!Valid CSS!