Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XML 1 Hauptseminar Softwaretechnologie TU Dresden, SS 2001 Parser Stefan Fromm.

Ähnliche Präsentationen


Präsentation zum Thema: "XML 1 Hauptseminar Softwaretechnologie TU Dresden, SS 2001 Parser Stefan Fromm."—  Präsentation transkript:

1 XML 1 Hauptseminar Softwaretechnologie TU Dresden, SS 2001 Parser Stefan Fromm

2 L M X Gliederung 1. XML Charakteristik Beispiel XML-Dokument 2. Parser SAX und DOM Java-Implementierungen 3. Beispiele Apache Crimson IBM XML4J 2

3 L M X XML Was ist XML? XML = eXtensible Markup Language Meta-Sprache zum Erzeugen neuer Markup-Sprachen: - CML (Chemical Markup Language) - MathML (Mathematical Markup Language) - SMIL (Synchronized Multimedia Integration Language)

4 L M X XML Historie Hypertext GML SGML HTML HTML 2.0, CSS 1.0 HTML 3.2, XML 1.0 HTML 4.0 CSS 2.0, XML 1.0, XSL 1.0 XML, Theorie von Tod Nelson Generalized ML von IBM Standard GML als ISO-8879 Tim Bernes-Lee in Genf W3C-Standard XML als W3C-Diskussionsvorschlag W3C-Richtlinie XML als W3C-Standard, XSL als W3C-Vorschlag zahlreiche Erweiterungen für XML XML ist abgespeckte Version von SGML 4

5 L M X XML Charakteristik Trennung zwischen Daten und Sprachdefinition XML DTD intern oder externe Datei angelehnt an EBNF definiert Syntax der Daten Document Type Definitiondynamische Tags keine HTML-Unsitten: korrekte Schachtelung Tags schließen hierarchische Elementstruktur ermöglicht phys. Datenverteilung well-formed valid 5

6 L M X XML Bestandteile Elemente – Strukturknoten..., leere Elemente mit Attribute - beschreiben Elemente näher (name=value) Entity – physische Speichereinheiten parsed / unparsed, internal / external, general / parameter Processing Instruction - Anweisungen für Anwendungen Notation – Erläuterung zu Entities, Processing Instructions Namespace – Namensraum für Elemente-/Attribute-Namen CDATA-Section - Freitext ohne Einschränkungen Kommentar 6

7 L M X XML Bewertung VorteileNachteile ASCII portabel, Datenaustausch nicht so kompakt wie binär flexibel in Datendefinition, selbstbeschreibend strukturierte Darstellung Parser für alle XML-Dokumente für Freiformtext schlecht verwendbar Validierung anhand Syntaxvorgabe sprachunabhängig einfach erlernbar 7

8 L M X XML Beispiel – Versandhaus orderlist.dtdproduct.dtd orderlist.xmlshoweraccessories.xml product shower bindet ein definiert DTD-Entity definiert XML-Entityvalidiert DTD XML 8

9 L M X Beispiel – Document Type Definition XML-Elemente oft gleich benannt Kollisionen bei mehreren XML- Dokumenten... orderlist.dtd product.dtd 9

10 L M X XML Beispiel – XML-Dokument (1)...Lösung: Namespaces (hier globaler Namensraum – aber auch elementeweise) orderlist.xml 10

11 L M X XML Beispiel – XML-Dokument (2) orderlist.xml showeraccessories.xml 11

12 L M X Gliederung 1. XML Charakteristik Beispiel XML-Dokument 2. Parser SAX und DOM Java-Implementierungen 3. Beispiele Apache Crimson IBM XML4J 12

13 L M X Java Parser Parser XML-Datei Parser Java Parser... transformiert XML in Java-Objekte für Laufzeitzugriff prüft, ob XML wohlgeformt prüft, ob XML gültig anhand einer Grammatik Syntaxanalyse DTD 13

14 L M X Java Parser SAX – Konzept SAX = Simple API for XML ereignisorientiertes Parsen, d.h. Ereignishandler werden vom Parser benachrichtigt entwickelt von Mitgliedern der XML-DEV Mailing List aktuell: Version 2.0 Sammlung von Java-Interfaces (C++ ist in Arbeit) SAX Parser implementieren Interfaces austauschbar 14

15 L M X Java Parser SAX 2 – Interfaces veraltete Interfaces von SAX 1.0 nicht dargestellt - Adapter-Klassen für Übergang zu SAX 2.0 sind implementiert 15

16 L M X Java Parser SAX 2 – Event Handler ContentHandler reagiert auf Dokumentstart / -ende, Elemente, Namespace- Deklarationen, Textdaten DTDHandler reagiert auf Notationen und ungeparste Entities (Binärdaten, Bilder,...) ErrorHandler ermöglicht Fehlerausgabe Unterteilung in leichte / fatale Fehler und Warnungen EntityResolver Auflösen von URIs zu Entities DeclHandler + LexicalHandler (Erweiterungen) DTD-Ereignisse abfangen Text-Ereignisse abfangen (Kommentar, CDATA, DTD, Entity) 16

17 L M X Java Parser DOM – Konzept DOM = Document Object Model gesamtes XML-Dokument wird in Objekt-Baum überführt standardisiert vom W3C aktuell: Level 2, Level 3 in Arbeit Sammlung von zu implementierenden Interfaces Interfaces in IDL sprachneutral definiert Sprachbindung von IDL an Programmiersprachen (Java, C++,...) spezifiziert besteht aus Kern und Erweiterungen 17

18 L M X Java Parser DOM 2 – Core-Interfaces 18

19 L M X Java Parser DOM 2 – Bestandteile Core Basisschnittstelle zur Baumdarstellung von XML-Dokumenten in DOM 2 neue Methoden zur Namespace-Unterstützung Views (ab DOM2) def. abstr. View zur Darstellung von XML-Doks in Browsern / Editoren Events (ab DOM2) Ereignisse auslösen (z.B. Dokumentänderungen durch GUI, Maus,...) Traversal (ab DOM2) Iterator und Treewalker zum Navigieren in DOM-Bäumen Range-Selection in DOM-Bäumen (z.B. als Selektion in GUI) HTML (ab DOM2) Core-Erweiterung für Beschreibung von HTML Style (ab DOM2) Zugriff auf Stylesheet-Doks (Spezialisierung für CSS) 19

20 L M X Java Parser Vergleich SAX / DOM Simple API for XMLDocument Object Model ereignisorientiertAufbau Baum-Struktur schnell in größeren Dokumentenlangsam in großen Dokumenten Aufbau eines eigenen DOM möglich (nicht notwendig) DOM wird vom Parser aufgebaut (Baumstruktur) Interfaces nur zum Lesen von XML ausgelegt kein Schreiben von XML, obwohl Interfaces es hergeben 20

21 L M X Java Parser XML und Java Java als Internet-Sprache Java-Technologien bieten Basis für Web-Anwendungen (e-Commerce,...) XML dient Datendarstellung / Datenaustausch Java ist plattformunabhängig XML ist sprachunabhängig Kombination im Internet sinnvoll 21

22 L M X Java Parser Implementierungen Parserunterstütztvalid.VersionAdresse ÆlfredSAX1nein1.2awww.microstar.com IBM XML4JSAX1, DOM2 ja3.1.1 (ben. Xerces 1.2) xml.apache.org XPSAX1nein0.5www.jclark.com/xml/ LarkEigenbaunein1.0www.textuality.com/ Lark LarvalEigenbauja1.0 Sun JAXPSAX2, DOM2 Core ja1.1sun.java.com Sun ProjectXSAX1, DOM1 jaTechRel 2sun.java.com/xml CrimsonSAX2, DOM2 ja1.1 (erweit. JAXP 1.1) xml.apache.org 22

23 L M X Java Parser DOM-Parser – Performance Quelle: 23

24 L M X Gliederung 1. XML Charakteristik Beispiel XML-Dokument 2. Parser SAX und DOM Java-Implementierungen 3. Beispiele Apache Crimson IBM XML4J 24

25 L M X Beispiele Crimson (1) 25

26 L M X Beispiele Crimson (2) 26

27 L M X Beispiele IBM XML4J 27

28 L M X Fazit strukturierte Daten mit XML Datenaustausch, Datenbanken noch viele XML-Anwendungen erforderlich – Parser nur erster Schritt viele weitere Standardisierungen des W3C: XSL– eXtensible Stylesheet Language XLink– eXtensible Linking Language XQL– XML Query Language XMI– XML Metadata Interchange... könnte HTML mit erstem vollwertigem XML-Browser ablösen (auf WWW6-Konferenz bereits angesprochen, HTML nur bis 4.0 zu entwickeln [www.heise.de – iX 6/1997 S. 106: Web-Sprachen] ) neue Ära für Anwendungen und das Internet 28

29 L M X Quellen XML 1.0 Spezifikation, DOM 2 Spezifikation SAX 2.0 Spezifikation Java Parser-Implementierungen siehe Folie 21 Benchmarks Tutorials XML Quick Reference Materialsammlung 29


Herunterladen ppt "XML 1 Hauptseminar Softwaretechnologie TU Dresden, SS 2001 Parser Stefan Fromm."

Ähnliche Präsentationen


Google-Anzeigen