Hauptseminar Softwaretechnologie TU Dresden, SS 2001

Slides:



Advertisements
Ähnliche Präsentationen
XML-basierte Techniken
Advertisements

25. Mai 2001Kleyer/Oyen/ReuseFolie 1 Fallstudie im Rahmen des Studienganges Wirtschaftsinformatik Christian Kleyer, Daniel Oyen, Svend Reuse Grundkonzeption.
Entwicklung UnivIS-Anbindung auf Basis von PHP und DOM-XML
M ATH ML Aufbau, Verwendung, Alternativen Proseminar XML-basierte Technologien | |
Extensible Markup Language
Worzyk FH Anhalt Datenbanksysteme für FÜ WS 2004/2005 XML - 1 XML Extensible Markup Language.
Webstandards Leinwandbindung Jeder Kettfaden liegt abwechselnd unter bzw. über dem Schußfaden Köperbindung Die Bindungspunkte am diagonalen Köpergrat.
XML.
Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
SVG und X3D Referentin: Gergana Ivanova
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
XML - Aufbau und Struktur - mit Einsatz im B2B
Hands On – Einführung in XML
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
DOM (Document Object Model)
Seminar XML und Datenbanken Sven Wiegelmann SS 2002.
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
HTML - Eine erste Annäherung
XML-Parser Manuel Röllinghoff.
© 2002 Prof. Dr. G. Hellberg 1 XML-Seminar XML-Technologie: XML in Theorie und Praxis Prof. Dr. G. Hellberg XML-Technologie: XML in Theorie und Praxis.
Document Object Model (DOM)
Tinosch Ganjineh, Christian v. Prollius 1 Scalable Vector Graphics SVG.
Grundlagen von XML. © Prof. T. Kudraß, HTWK Leipzig Geschichte Grundidee generic coding - Trennung Information/Form formal definierter Dokumenttyp verschachtelte.
XML Standardisierungen und Abfragesprachen
Grundlagen von XML. © Prof. T. Kudraß, HTWK Leipzig Geschichte Grundidee generic coding - Trennung Information/Form formal definierter Dokumenttyp verschachtelte.
Speicherung von XML- Dokumenten als Large Objects.
Einführung XML XML Einführung Andreas Leicht.
Hauptseminar XML-Technologie: Resource Description Framework (RDF) Michael Kranz Betreuer: Roland Haratsch.
Tobias Högel & Dennis Böck,
Marcus Haller & René Schulze
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
Vortrag HTML, XHTML, DHTML
Hypertext Markup Language
XML eXtensible Markup Language
Proseminar: „Webtechnologien für Ecommerce“
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Java für Fortgeschrittene
Information und ihre Darstellung: XHTML & CSS
XML-Serverpages Vortrag im Rahmen des Seminars XML-Technologien Tobias Faessler.
Daniel Kucher Proseminar XHTML. 1. HTML – Struktur und Versionen 2. Der – Teil 3. Der – Teil 4. Stylesheets (CSS) – Das Rückrat von XHTML.
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Oliver Spritzendorfer Thomas Fekete
XML in relationalen Datenbanken
XML (Extensible Markup Language)
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.
XML1 XML-Motivation HTML definiert nur einen bestimmten Dokumenttyp Viele Web-Technologien benötigen eine allgemeinere Sprache zur Dokumentstrukturierung.
XSL in der Praxis Anwendungsbeispiele für die eXtensible Stylesheet Language Andreas Kühne XML One 2000.
Drucken mit XSL-FO DaimlerChrysler  Drucken von Webseiten
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
© Prof. Dr.-Ing. habil. Dierk Langbein 2005 Dierk Langbein LE 4 1 Datenverarbeitung mittels XML 1. XML-Grundlagen.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
XML Das „Competence Center XML“ am Institut für Wirtschaftsinformatik der J. W. Goethe-Universität in Frankfurt.
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
- Warum: Das HTML-Dilemma
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle XML-BasicsWS 08/09.
Seminar zur Geoinformation Folie 1 Inhalt: –XML –XML- SCHEMA –XSL –Syntax –GML Seminar zur Geoinformation Datenaustausch mit XML / GML im InternetDatenaustausch.
- XML: Das Sprachkonzept
- XML: Das Sprachkonzept
Peter Brezany Institut für Softwarewissenschaften Universität Wien
Vorteile von XML Die installed base von HTML, HTTP und Webbrowsern XML ist einfach und portabel XML kann Dokumente beliebiger Komplexität abbilden XML.
XML - Warum: Das HTML-Dilemma HTML, SGML, XML - Wie: Syntax, Konzepte, Sprachelemente Basics Wohlgeformte XML-Dokumente (ohne DTD) Gültige XML-Dokumente.
1 Java und XML Stephan Baldes Warum XML? In welchem Format wurden die Daten gespeichert? Bernd;Thomas;3;5;1987;Freiburg;Karlsruhe Peter;Maier;7;9;1980;Karlsruhe;Freiburg.
13.Dezember 2006–1Elektronisches Publizieren: Schemasprachen — Relax NG Schemasprachen für XML — Relax NG — Anne Brüggemann-Klein TU München.
1 XML Extensible Markup Language Meiko Lösch Juli 1999.
 Präsentation transkript:

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

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

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

XML X Historie M 1950 1969 1986 1989 1994 1996 1997 1998 1999 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 L SGML hatte 500 Seiten Regeln, für XML 70 Seiten Spezifikation: schlank SGML trennt schon strikt zwischen Daten und Repräsentation  XML ist abgespeckte Version von SGML 4

X M L XML Charakteristik Trennung zwischen Daten und Sprachdefinition dynamische Tags Document Type Definition hierarchische Elementstruktur definiert Syntax der Daten XML DTD angelehnt an EBNF keine HTML-Unsitten: korrekte Schachtelung Tags schließen intern oder externe Datei ermöglicht phys. Datenverteilung HTML-Unsitten: Empty-Tags werden jetzt gekennzeichnet DTD mit regulären Ausdrücken phys. Datenverteilung durch Entities Syntax beschreibt gültige Tags valid well-formed 5

X M L XML Bestandteile Elemente – Strukturknoten <start-tag>...</end-tag>, 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 <?target text?> Notation – Erläuterung zu Entities, Processing Instructions Namespace – Namensraum für Elemente-/Attribute-Namen <namespace:element xmlns:namespace=“...“> CDATA-Section - Freitext ohne Einschränkungen <![CDATA[...]]> Kommentar <!-- ... --> L HTML-Unsitten: Empty-Tags werden jetzt gekennzeichnet DTD mit regulären Ausdrücken phys. Datenverteilung durch Entities Syntax beschreibt gültige Tags 6

X M L XML Bewertung Vorteile Nachteile 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 L 7

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

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

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

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

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

X M L Java Parser Parser Parser XML-Datei DTD 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 13

X M L 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 L 14

X M L 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

X M L 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 URI‘s zu Entities DeclHandler + LexicalHandler (Erweiterungen) DTD-Ereignisse abfangen Text-Ereignisse abfangen (Kommentar, CDATA, DTD, Entity) L 16

X M L 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 L Parser, der den Kern implementiert, funktioniert. 17

X M L Java Parser DOM 2 – Core-Interfaces 18 Node – allgemeiner Knoten Document - Erzeugen von Knotenobjekten, Ändern des Dokuments Element – eigene Attribute verwalten und untergeordnete Elemente verwalten: viele Zugriffsmethoden CharacterData – Textmanipulation Attr – Name-Value-Paare 18

X M L 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-Dok‘s 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-Dok‘s (Spezialisierung für CSS) L DOM 3 mit Kopfzeilen-Infos: encoding, version, standalone 19

X M L Java Parser Vergleich SAX / DOM Simple API for XML Document Object Model ereignisorientiert Aufbau Baum-Struktur schnell in größeren Dokumenten langsam 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 L 20

X M L 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 L 21

X M L Java Parser Implementierungen Parser unterstützt valid. Version Adresse Ælfred SAX1 nein 1.2a www.microstar.com IBM XML4J SAX1, DOM2 ja 3.1.1 (ben. Xerces 1.2) xml.apache.org XP 0.5 www.jclark.com/xml/ Lark Eigenbau 1.0 www.textuality.com/ Lark Larval Sun JAXP SAX2, DOM2 Core 1.1 sun.java.com Sun ProjectX SAX1, DOM1 TechRel 2 sun.java.com/xml Crimson SAX2, DOM2 1.1 (erweit. JAXP 1.1) L Aelfred und Lark sind klein für Applets auch C-Parser (Expat, ...) 22

DOM-Parser – Performance Java Parser X DOM-Parser – Performance M L Quelle: www.developerlife.com 23

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

Beispiele X Crimson (1) M L 25

Beispiele X Crimson (2) M L 26

Beispiele X IBM XML4J M L 27

X M L 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 M L 28

X M L Quellen XML 1.0 Spezifikation, DOM 2 Spezifikation http://www.w3c.org SAX 2.0 Spezifikation http://www.megginson.com/SAX/ Java Parser-Implementierungen siehe Folie 21 Benchmarks http://www.developerlife.com Tutorials http://skew.org/xml http://www.ibm.com/xml XML Quick Reference http://www.mulberrytech.com Materialsammlung http://www.inf.tu-dresden.de/~sf21 M L 29