Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger

 << zurück
Java ist auch eine Insel von Christian Ullenboom
Programmieren für die Java 2-Plattform in der Version 5
Java ist auch eine Insel

Java ist auch eine Insel
5., akt. und erw. Auflage
1454 S., mit CD, 49,90 Euro
Galileo Computing
ISBN 3-89842-747-1
gp Kapitel 13 Die eXtensible Markup Language (XML)
  gp 13.1 Auszeichnungssprachen
    gp 13.1.1 Die Standard Generalized Markup Language (SGML)
    gp 13.1.2 Extensible Markup Language (XML)
  gp 13.2 Eigenschaften von XML-Dokumenten
    gp 13.2.1 Elemente und Attribute
    gp 13.2.2 Beschreibungssprache für den Aufbau von XML-Dokumenten
    gp 13.2.3 Schema – eine Alternative zu DTD
    gp 13.2.4 Namensraum (Namespace)
    gp 13.2.5 XML-Applikationen
  gp 13.3 Die Java-APIs für XML
    gp 13.3.1 Das Document Object Model (DOM)
    gp 13.3.2 Simple API for XML Parsing (SAX)
    gp 13.3.3 Java Document Object Model (JDOM)
    gp 13.3.4 Pull-API StAX
  gp 13.4 Serielle Verarbeitung mit StAX
    gp 13.4.1 Unterschiede der Verarbeitungsmodelle
    gp 13.4.2 XML-Dateien mit dem Cursor-Verfahren lesen
    gp 13.4.3 XML-Dateien mit dem Iterator-Verfahren verarbeiten
    gp 13.4.4 Mit Filtern arbeiten
    gp 13.4.5 XML-Dokumente schreiben
  gp 13.5 Serielle Verarbeitung von XML mit SAX
    gp 13.5.1 Schnittstellen von SAX
    gp 13.5.2 SAX-Parser erzeugen
    gp 13.5.3 Die wichtigsten Methoden der Schnittstelle ContentHandler
  gp 13.6 XML-Dateien mit JDOM verarbeiten
    gp 13.6.1 JDOM beziehen
    gp 13.6.2 Paketübersicht
    gp 13.6.3 Die Document-Klasse
    gp 13.6.4 Eingaben aus der Datei lesen
    gp 13.6.5 Das Dokument im XML-Format ausgeben
    gp 13.6.6 Der Dokumenttyp
    gp 13.6.7 Elemente
    gp 13.6.8 Zugriff auf Elementinhalte
    gp 13.6.9 Liste mit Unterelementen erzeugen
    gp 13.6.10 Neue Elemente einfügen und ändern
    gp 13.6.11 Attributinhalte lesen und ändern
    gp 13.6.12 XPath
  gp 13.7 JAXP als Java-Schnittstelle zu XML
    gp 13.7.1 Einführung in XSLT
    gp 13.7.2 Umwandlung von XML-Dateien mit JDOM und JAXP
  gp 13.8 HTML-Dokumente einlesen

Kapitel 13 Die eXtensible Markup Language (XML)

Ich bin überall in diesem Land gewesen und habe mit den besten Leuten gesprochen. Ich kann Ihnen versichern, dass Datenverarbeitung ein Tick ist, der sich nächstes Jahr erledigt hat. – Editor für Computerbücher bei Prentice Hall, 1957


Galileo Computing

13.1 Auszeichnungssprachedowntop

Auszeichnungssprachen dienen der strukturierten Gliederung von Texten und Daten. Ein Text besteht zum Beispiel aus Überschriften, Fußnoten und Absätzen, eine Rechnung aus den einzelnen Rechnungsposten, wie Betrag und Kontonummer. Auszeichnungssprachen liegt die Idee zugrunde, besondere Bausteine durch Auszeichnung hervorzuheben. Ein Text könnte etwa so beschrieben sein:

<Überschrift>
Mein Buch
<Ende Überschrift>
Hui ist das <fett>toll<Ende fett>.

Als Leser eines Buches erkennen wir optisch eine Überschrift an der Schriftart, ein Computer hat damit aber seine Schwierigkeiten. Wir wollen auch dem Rechner die Fähigkeit verleihen, diese Struktur zu erkennen.

HTML ist die erste populäre Auszeichnungssprache, die Auszeichnungselemente (engl. tags) wie <b>fett</b> benutzt, um bestimmte Eigenschaften von Elementen zu kennzeichnen. Damit wurde eine Visualisierung verbunden, etwa bei einer Überschrift fett und mit großer Schrift. Leider werden Auszeichnungssprachen wie HTML dazu benutzt, Formatierungseffekte zu erzielen. Beispielsweise werden Überschriften mit dem Überschriften-Tag ausgezeichnet. Wenn an anderer Stelle eine Textstelle fett und groß sein soll, wird diese auch mit dem Überschriften-Tag markiert, obwohl es keine Überschrift ist.


Galileo Computing

13.1.1 Die Standard Generalized Markup Language (SGML)  downtop

Das Beispiel der Überschrift in einem Buch veranschaulicht die Idee, Bausteine mit Typen in Verbindung zu bringen. Der allgemeine Aufbau mit diesen Auszeichnungselementen lässt sich dann für beliebige hierarchische Dokumente nutzen. Die Definition einer Auszeichnungssprache (Metasprache) ist daher auch nicht weiter schwierig. Schon Mitte der Achtzigerjahre wurde als ISO-Standard die Standard Generalized Markup Language (SGML) definiert, die Basis für beliebige Auszeichnungssprachen ist. Ab der Version 2.0 ist auch HTML als SGML-Anwendung definiert. Leider kam mit den vielen Freiheiten und der hohen Flexibilität eine große und aufwändige Deklaration der Anwendungen hinzu. Ein SGML-Dokument musste einen ganz bestimmten Aufbau besitzen. SGML-Dateien waren daher etwas unflexibel, weil die Struktur genau eingehalten werden musste. Für HTML-Dateien wäre das schlecht, weil die Browser-Konkurrenten produktspezifische Tags definieren, die auf den Browser des jeweiligen Herstellers beschränkt bleiben. So interpretiert der Internet Explorer zum Beispiel das Tag <blink>blinkend</blink> nicht. Tags, die ein Browser nicht kennt, überliest er einfach.


Galileo Computing

13.1.2 Extensible Markup Language (XML)  toptop

Für reine Internetseiten hat sich HTML etabliert, aber für andere Anwendungen wie Datenbanken oder Rechnungen ist HTML nicht geeignet. Für SGML sprechen die Korrektheit und Leistungsfähigkeit – dagegen sprechen die Komplexität und Notwendigkeit, eine Beschreibung für die Struktur angeben zu müssen. Daher setzte sich das W3C zusammen, um eine neue Auszeichnungssprache zu entwickeln, die einerseits so flexibel ist wie SGML, andererseits aber so einfach zu nutzen und zu implementieren ist wie HTML. Das Ergebnis ist die eXtensible Markup Language (XML). Diese Auszeichnungssprache ist für Compiler einfach zu verarbeiten, da es genaue Vorgaben dafür gibt, wann ein Dokument in Ordnung ist.

XML ist nicht nur der Standard zur Beschreibung von Daten, denn oft verbinden sich mit diesem Ausdruck eine oder mehrere Technologien, die mit der Beschreibungssprache im Zusammenhang stehen. Und: Ohne XML kein WiX! Die wichtigsten Technologien zur Verarbeitung von XML in Java werden hier kurz vorgestellt. Eine ausführliche Beschreibung mit allen Nachbartechnologien findet der interessierte Leser auf den Web-Seiten des W3C unter http://www.w3c.org/.




1  Der Vorgänger von SGML war GML; hier standen die Buchstaben (sicherlich inoffiziell) für Charles Goldfarb, Edward Mosher und Raymond Lorie, die bei IBM in den Sechzigerjahren eine Dokumentenbeschreibungssprache schufen.

2  WIX: Windows Installer XML. Definition von Auslieferungspaketen für Microsoft Windows

 << zurück




Copyright © Galileo Press GmbH 2005
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de