Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Neues in Java 7
2 Threads und nebenläufige Programmierung
3 Datenstrukturen und Algorithmen
4 Raum und Zeit
5 Dateien, Verzeichnisse und Dateizugriffe
6 Datenströme
7 Die eXtensible Markup Language (XML)
8 Dateiformate
9 Grafische Oberflächen mit Swing
10 Grafikprogrammierung
11 Netzwerkprogrammierung
12 Verteilte Programmierung mit RMI
13 RESTful und SOAP Web-Services
14 JavaServer Pages und Servlets
15 Applets
16 Datenbankmanagement mit JDBC
17 Technologien für die Infrastruktur
18 Reflection und Annotationen
19 Dynamische Übersetzung und Skriptsprachen
20 Logging und Monitoring
21 Java Native Interface (JNI)
22 Sicherheitskonzepte
23 Dienstprogramme für die Java-Umgebung
Stichwort
Download: - openbook, ca. 21,3 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> / Java 7 - Mehr als eine Insel | vor >>
Java 7 - Mehr als eine Insel von Christian Ullenboom Das Handbuch zu den Java SE-Bibliotheken
Java 7 - Mehr als eine Insel Galileo Computing 1433 S., 2012, geb. 49,90 Euro, ISBN 978-3-8362-1507-7 |
| 7 Die eXtensible Markup Language (XML)
|  | 7.1 Auszeichnungssprachen
|  |  | 7.1.1 Die Standard Generalized Markup Language (SGML)
|  |  | 7.1.2 Extensible Markup Language (XML)
|  | 7.2 Eigenschaften von XML-Dokumenten
|  |  | 7.2.1 Elemente und Attribute
|  |  | 7.2.2 Beschreibungssprache für den Aufbau von XML-Dokumenten
|  |  | 7.2.3 Schema – eine Alternative zu DTD
|  |  | 7.2.4 Namensraum (Namespace)
|  |  | 7.2.5 XML-Applikationen *
|  | 7.3 Die Java-APIs für XML
|  |  | 7.3.1 Das Document Object Model (DOM)
|  |  | 7.3.2 Simple API for XML Parsing (SAX)
|  |  | 7.3.3 Pull-API StAX
|  |  | 7.3.4 Java Document Object Model (JDOM)
|  |  | 7.3.5 JAXP als Java-Schnittstelle zu XML
|  |  | 7.3.6 DOM-Bäume einlesen mit JAXP *
|  | 7.4 Java Architecture for XML Binding (JAXB)
|  |  | 7.4.1 Bean für JAXB aufbauen
|  |  | 7.4.2 JAXBContext und die Marshaller
|  |  | 7.4.3 Ganze Objektgraphen schreiben und lesen
|  |  | 7.4.4 Validierung
|  |  | 7.4.5 Weitere JAXB-Annotationen *
|  |  | 7.4.6 Beans aus XML-Schema-Datei generieren
|  | 7.5 Serielle Verarbeitung mit StAX
|  |  | 7.5.1 Unterschiede der Verarbeitungsmodelle
|  |  | 7.5.2 XML-Dateien mit dem Cursor-Verfahren lesen
|  |  | 7.5.3 XML-Dateien mit dem Iterator-Verfahren verarbeiten *
|  |  | 7.5.4 Mit Filtern arbeiten *
|  |  | 7.5.5 XML-Dokumente schreiben
|  | 7.6 Serielle Verarbeitung von XML mit SAX *
|  |  | 7.6.1 Schnittstellen von SAX
|  |  | 7.6.2 SAX-Parser erzeugen
|  |  | 7.6.3 Operationen der Schnittstelle ContentHandler
|  |  | 7.6.4 ErrorHandler und EntityResolver
|  | 7.7 XML-Dateien mit JDOM verarbeiten
|  |  | 7.7.1 JDOM beziehen
|  |  | 7.7.2 Paketübersicht *
|  |  | 7.7.3 Die Document-Klasse
|  |  | 7.7.4 Eingaben aus der Datei lesen
|  |  | 7.7.5 Das Dokument im XML-Format ausgeben
|  |  | 7.7.6 Der Dokumenttyp *
|  |  | 7.7.7 Elemente
|  |  | 7.7.8 Zugriff auf Elementinhalte
|  |  | 7.7.9 Liste mit Unterelementen erzeugen *
|  |  | 7.7.10 Neue Elemente einfügen und ändern
|  |  | 7.7.11 Attributinhalte lesen und ändern
|  |  | 7.7.12 XPath
|  | 7.8 Transformationen mit XSLT *
|  |  | 7.8.1 Templates und XPath als Kernelemente von XSLT
|  |  | 7.8.2 Umwandlung von XML-Dateien mit JDOM und JAXP
|  | 7.9 XML-Schema-Validierung *
|  |  | 7.9.1 SchemaFactory und Schema
|  |  | 7.9.2 Validator
|  |  | 7.9.3 Validierung unterschiedlicher Datenquellen durchführen
|  | 7.10 Zum Weiterlesen
# 7 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 ## 7.1 Auszeichnungssprachen Auszeichnungssprachen dienen zur strukturierten Gliederung von Texten und Daten. Ein Text besteht zum Beispiel aus Überschriften, Fußnoten und Absätzen, eine Vektorgrafik dagegen aus einzelnen Grafikelementen wie Linien und Textfeldern. 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 Buchs 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 auch dazu benutzt, Formatierungseffekte zu erzielen. Beispielsweise werden Überschriften richtigerweise mit dem Überschriften-Tag ausgezeichnet. Wenn an anderer Stelle eine Textstelle fett und groß sein soll, wird diese aber auch oft mit dem Überschriften-Tag markiert, obwohl sie keine Überschrift ist. ### 7.1.1 Die Standard Generalized Markup Language (SGML) Das Beispiel der Überschrift in einem Buch veranschaulicht die Idee, Bausteine mit Typen in Verbindung zu bringen. Der allgemeine Aufbau mit diesen Auszeichnungselementen ließe sich dann für beliebige hierarchische Dokumente nutzen. Die Definition einer Auszeichnungssprache (Metasprache) ist daher auch nicht weiter schwierig. Schon Mitte der 1980er-Jahre wurde als ISO-Standard die Standard Generalized Markup Language (SGML)[51](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 1960er-Jahren diese Dokumentenbeschreibungssprache geschaffen hatten.) definiert, die 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. ### 7.1.2 Extensible Markup Language (XML) 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 die 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 wie SGML, andererseits aber so einfach zu nutzen und zu implementieren ist wie HTML. Das Ergebnis war 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[52](Windows Installer XML – Definition von Auslieferungspaketen für Microsoft Windows)! Die wichtigsten Technologien zur Verarbeitung von XML in Java werden hier kurz vorgestellt. Eine ausführliche Beschreibung mit allen Nachbartechnologien finden Sie bei Interesse auf den Webseiten des W3C unter http://www.w3c.org/. ### Ihr Kommentar Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück | <top> | vor >>
Zum Katalog
Java 7 – Mehr als eine Insel Jetzt bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchempfehlungen
| Java und XML
| Einstieg in Eclipse 3.7
| Android 3
| NetBeans Platform 7
| Java ist auch eine Insel
| Apps entwickeln für Android 4
| Java 7
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press 2012
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das 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, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de