Entwicklung und Nutzen von XML



Ähnliche Dokumente
Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis HANSER

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

Einführung in XML. Seminarunterlage. Version 3.05 vom

Einführung in die extensible Markup Language

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis

IN A NUTSHELL. Elliotte Rusty Harold & W, Scott Means. Deutsche Übersetzung von Kathrin Lichtenberg & Jochen Wiedmann O'REILLY*

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

Kurzeinführung in XML. Was ist XML? Well-formed u. gültiges XML Erste Anwendung in XML Externe DTD Attribute und Entities Datenausgabe mit XSL

Java und XML 2. Java und XML

1 Was ist XML? Hallo XML! Kommentare in XML 52

Grundlagen der Extensible Stylesheet Language

Einführung in XML. Arthur Brack FHDW Hannover. 1. Oktober 2009

GRUNDKURS INFORMATIK. Marcel Götze

Thomas Schraitle. DocBook-XML. Medienneutrales und plattformunabhängiges Publizieren

Agenda GRUNDKURS INFORMATIK 8 BESCHREIBUNG VON DATEN XML. Von SGML zu XML. Grundbegriffe XML Dokument. XML Beispiel

X-Technologien. Ein Überblick. Ulrike Henny. IDE Summer School 2013, Chemnitz

XML-basierte Standards für den Datenaustausch in der Logistikkette

XSL Transformation. Eine praxisorientierte Einführung Philip Heck

Konzeptionelle Modellierung von XML-Dokumenttypen

Kurze Einführung in XML

6 Modellierung von Strukturen 6.1 Kontextfreie Grammatiken. Kontextfreie Grammatik. Vorlesung Modellierung WS 2011/12 / Folie 601

Erstellen von PDF-Dokumenten für Business-Anwendungen mit XSL-FO

XML-Einführung. Entwicklung Begriffe Vorteile/Möglichkeiten von XML Adressen Beispiele. Fachhochschule Nordwestschweiz FHNW Martin Hüsler

Web-Programmierung (WPR)

<Trainingsinhalt> XML umsetzen und nutzen

<XML und XSLT Eine Einführung/> Katharina Hemmeter, Claus Ludewig SQ: Digitale Dokumente

Single Source Publishing mit XML

Es gibt immer einen Schlüssel und einen zugehörigen Wert,

Einführung in XML Torsten Schaßan SCRIPTO digital Wolfenbüttel

X-Technologien. XML and Friends. Jörn Clausen 9. Juli 2001

XML und SOAP Einführung und Grundlagen

Softwareentwicklung mit Komponenten

Textauszeichnung mit XML

Bibliothekssysteme / Verbundsysteme / Netze

Transformation von XML-Dokumenten mit XSLT

Document Type Definition (DTD)

Henning Behme Stefan Mintert. XML in der Praxis. Professionelles Web-Publishing mit der Extensible Markup Language ADDISON-WESLEY

Eine Dokumenttypdefinition lässt sich im Kopfbereich des XML-Dokumentes (interne DTD) oder in einer separaten Datei formulieren (externe DTD).

Logische Dokumentenstruktur mit SGML und XML

XML. Eine Einführung. XML (C) J.M.Joller 1

DTDs und XML- Schemata

XML extensible Markup Language

3.1 Sinn und Zweck von Namensräumen

APEX und Apache FOP Freie PDF-Erstellung mit APEX 3.0.1

XML steht für Extensible Markup Language. Helmut Vonhoegen (2007) beschreibt XML unter anderem so:

Strukturierung von Inhalten

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder

Dokumente und Auszeichnungssprachen

Formale Sprachen Grundlagen und Anwendungen. Dr. Wolfgang Süß

1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken

Datenaustauschformate. Datenaustauschformate - FLV

Textkodierung mit XML

Textkodierung mit XML

... MathML XHTML RDF

Eine Schnelleinführung in XSL

Kompendium der Web-Programmierung

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen

GRUDIS RB3 (Schnittstelle MapViewer)

Transkript:

Entwicklung und Nutzen von XML Informatikseminar SS2004 Markus Kobligk (wi4113)

Seite 2 Agenda I. Einleitung Auszeichnungen Auszeichnungssprachen II. Entwicklung von XML Ansatzpunkte Realisierung Eigenschaften von XML III. Nutzen von XML IV. Zusammenfassung

Seite 3 I. Auszeichnungen Auszeichnungen? Informationen/Symbole Zusätzlich zu eigentlichem Text Wozu Auszeichnungen? Bedeutungsgehalt erweitern Texte gliedern Auszeichnungssprache? Menge von Symbolen, die im Text eines Dokuments platziert werden, um dessen Bedeutungsgehalt zu erweitern und Teile des Dokuments voneinander abzugrenzen Generische Auszeichnungen Deskriptive Auszeichnungen GenCode-Projekt

I. Auszeichnungssprachen Erste elektronische Formate (troff, TEX) Aufbereitung für Druck und Monitordarstellung Kein durchsuchen, keine Wiederverwendung, keine Strukturierung Generalized Markup Language (GML) IBM-Projekt Ziel: Auszeichnung von Dokumenten für die Benutzung auf mehreren Informationssubsystemen Standard Generalized Markup Language (SGML) ANSI Ziel: Standard-Textbeschreibungssprache auf Grundlage vom GML Hypertext Markup Language (HTML) CERN SGML-Dokumenttyp Kompakt und effizient Seite 4

Seite 5 II. Ansatzpunkte für die Entwicklung von XML Warum eine neue Sprache? Kritik an HTML Nur ein einziger Dokumenttyp Mischung von Inhalt und Layout Keine problembezogene Auszeichnung Problemspezifische Strukturierung nicht möglich Zunehmende Datenübertragung Problemspezifische Strukturierung von Daten Neue Anforderungen an Auszeichnungssprachen Wunsch: Erweiterbare Auszeichnungssprache mit der Mächtigkeit von SGML und der Einfachheit und Akzeptanz von HTML

II. Realisierung Einfache Sprache Vereinfachung von SGML XML als Untermenge von SGML Kompatibel zu SGML XML ist keine Auszeichnungssprache keine Programmiersprache kein Ersatz für HTML kein Allerheilmittel für das Web XML ist eine Meta-Sprache zur Festlegung der Syntax von Auszeichnungssprachen Seite 6

II. Eigenschaften von XML Seite 7 Grundsätze Anwendungsspezifische Auszeichnungen Trennung von Inhalt und Layout Bestmögliche Fehlerüberprüfung Eindeutige Strukturen Einfachheit Eigenschaften Selbstdokumentierend Baumstruktur Internationalisierung Offener Standard Daten strukturiert

II. Ein Beispiel Seite 8 <?xml version="1.0"?> <Adressbuch> <Person> <Vorname>Uwe</Vorname> <Nachname>Schmidt</Nachname> <Alter>42</Alter> <Ort plz="10111">knusiland</ort> </Person> </Adressbuch>

II. Baumstruktur von XML-Dokumenten I Seite 9 <?xml version="1.0"?> <Adressbuch> <Person> <Vorname>Uwe Uwe</Vorname> <Nachname>Schmidt Schmidt</Nachname> <Alter>42 42</Alter> <Ort plz="10111">knusiland Knusiland</Ort> </Person> </Adressbuch>

II. Baumstruktur von XML-Dokumenten II Seite 10 Adressbuch Person Vorname Nachname Alter plz= 101010 Ort Uwe Schmidt 42 Knusiland

III. Problembezogene Auszeichnungssprachen Seite 11 Meine Auszeichnungssprache Freeform XML Dokumentenmodellierung Relax NG DTD XML-Schema

III. Dokumentenmodellierung mit DTDs I Seite 12 Document Type Definition Deklaration erlaubter Elemente in Dokument (Vokabular der Sprache) Für jedes Element Inhaltsmodell und erlaubte Attribute Deklaration von Entitäten DTD interne Teilmenge oder extern in Datei Grammatik in EBNF Warum DTDs? Einheitliche Festlegung der Syntax Wiederverwendung Internet-/Intranet-weite Nutzung

III. Dokumentenmodellierung mit DTDs II <!ELEMENT Adressbuch (Person)*> <!ELEMENT Person (Vorname, Nachname, Ort, Alter)> <!ELEMENT Vorname ANY> <!ELEMENT Nachname ANY> <!ELEMENT Alter ANY> <!ELEMENT Ort ANY> <!ATTLIST Ort plz CDATA #REQUIRED> <?xml version="1.0"?> <!DOCTYPE Adressbuch SYSTEM "adressbuch.dtd"> <Adressbuch> <Person> <Vorname>Uwe</Vorname> <Nachname>Schmidt</Nachname> <Ort plz="101010">knusiland</ort> <Alter>42</Alter> </Person> </Adressbuch> Seite 13

III. Dokumentenmodellierung mit DTDs III Seite 14 Stärken Viele Dokumenttypen mit DTD definiert (HTML, XHTML) Alle SGML- und XML-Tools können DTDs verarbeiten Lange Erfahrung mit DTDs Handliche Größe Einfache Syntax Schwächen Keine Unterstützung von Namensräumen Keine XML-Syntax (EBNF) Begrenztes Typ-Konzept

Seite 15 III. Dokumentenmodellierung mit XML-Schema XML-Schema Vorlagen (Schemata) definieren Dokumentstruktur Schemata selbst XML Vorteile Mächtigeres Typkonzept (Datum, Währung, Integer) Nutzung selbsterstellter Datentypen (Archtypes) Unterstützung von Namensräumen Vererbung deklarierter Objekte Schemata selbst wohlgeformtes XML Nachteil Syntax sehr komplex

III. Wiederverwendung Seite 16 Vokabulare (Dialekte) Auszeichnungssprache für allg. Anwendungsgebiete Weltweite/internet-weite Nutzung Standardisiert Vokabulare für Handel, Wissenschaft, Medizin, Jura, EDV, Astronomie, Beispiel: MathML Mit XML-DTD definierte Auszeichnungssprache Speziell für math. Ausdrücke und Formeln DTD öffentlich zugänglich/verwendbar Einheitliche Darstellung von math. Problemstellungen

III. XML als Datenaustauschformat I Seite 17 Verteiltes System Warum ausgerechnet XML? Plattformunabhängig Internationalisierung (Unicode) Gut zu durchsuchen/verarbeiten Viele Tools vorhanden Entwicklung neuer Tools einfach Daten gut strukturierbar Möglichkeit der Meta-Daten-Übertragung

III. XML als Datenaustauschformat II Seite 18 Beispiel: Datenaustausch zwischen Unternehmen DTD/Schema Daten- format A XML XML-Datei XML Daten- format b Unternehmen A Unternehmen B

III. XML als Datenaustauschformat III Beispiel: Remote Procedure Call Format x XDR XDR Format y Format x XDR XDR Format y Kritik Zwar Maschinenunabhängigkeit durch XDR Insgesamt aber vier Umwandlungen Seite 19

III. XML als Datenaustauschformat IV Remote Procedure Call mit XML Client Vorteile XML Anwendungen erzeugen direkt XML Keine Umwandlung nötig XML leicht zu verarbeiten Tools/Schnittstellen vorhanden Server Entwicklung problemspezifischer Tools einfach Implementierungen XML-RPC (Perl, Python, Java, Frontier, SKYRIX, C/C++, Lisp, PHP, MS.NET, Tcl, Delphi, Zope ) SOAP (Simple Objects Access Protocol) Seite 20

III. XML zur Datenspeicherung Seite 21 Vorteile XML leicht zu verarbeiten Schnittstellen für die meisten Programmiersprachen Umfang von Fehlerüberprüfungen und Ausnahmebehandlungen begrenzt durch Wohlgeformtheitsregeln Nachteile Sehr speicherintensiv (keine Komprimierung) Ungeeignet zur Speicherung von Binärdaten Langsamer Zugriff (rel. DB) XML HDD Kaum Optimierung für Zugriffsgeschwindigkeit (ID, IDREF zum schnelleren Finden von Knoten) Bei wenig Speicherplatz/Bandbreite nicht geeignet für große Datenmengen

III. Verarbeitung von XML-Dokumenten Seite 22 XML-Prozessor Programm, das XML liest und verarbeitet Beispiele: Browser, XML-Editoren, Gültigkeitsprüfer Bestandteile Parser (Syntaxanalyse Tokenstrom) Event-Switcher (Events Event-Handler) Regel-Prozessor (Aufbau von Baumstrukturen) Baum-Prozessor (Verarbeitung von Baumstrukturen)

Seite 23 III. Schnittstellen für XML-Werkzeuge I Simple API for XML Event-orientiertes API Serielle Verarbeitung in einem einzigen Durchlauf Kein interne Baum-Repräsentation Verwendung von Callback-Routinen Vorteile Dokumente nach Schlüsselworten durchsuchen Formatierte Inhalte in Reihenfolge des Erscheinens ausgeben Grundlage für komplexere APIs wie DOM Nachteile Keine Neuordnung der Elemente im Dokument Keine Auflösung von Querverweisen Events werden vergessen

III. Schnittstellen für XML-Werkzeuge II Seite 24 Document Object Model W3C-Empfehlung für standardisierte XML-API Baum-orientierte Verarbeitung Möglichkeit zur Manipulation des Dokuments Vorteile Persistente Abbildung im Speicher als Baum Traversieren des Baumes Nachteile Sehr Speicherintensiv bei großen Dokumenten Parsen dauert länger

III. Formatierung für unterschiedliche Ausgabemedien Seite 25 Stylesheet A XML-Dokument Stylesheet B Stylesheet C

Seite 26 III. Formatierung für unterschiedliche Ausgabemedien mit XSL extensible Stylesheet Language Sprache zur Formatierung von XML-Dokumenten Formatierung durch XSL-Stylesheet Anwendung von Aktionen zu Regeln CSS möglich anstelle XSL-Stylesheet Teilsprachen: XSLT und XSL:FO Vorteile: Wiederverwendung Formatierung für unterschiedlicher Ausgabemedien Trennung von Inhalt und Layout Formatänderungen zentral im Stylesheet Austausch von Stylesheets on the fly

Seite 27 III. Transformation in andere Formate mit XSLT XSL Transformations Bestandteil von XSL Transformationen mittels XSL-Stylesheet Assoziation von Mustern mit Templates im Stylesheet Mögliche Ergebnisse der Transformation: XML, HTML, XHTML, SVG, VRML, WAP, PDF,... Transformation von Teilmengen möglich XSL Quellbaum Ergebnisbaum

III. Verarbeitung von Baumstrukturen Seite 28 XML Path Language (XPath) Sprache zum Zugriff auf XML-Dokumente und ausgewählte Teile davon Grundlage: Dokumente als Baumstruktur mit unterschiedlichen Knotentypen (Elementknoten, Attributknoten, etc.) Zentrales Sprachkonstrukt: Ausdrücke zur Ermittlung von Knotenmengen Lokalisierungpfade Auswertung der Ausdrücke erfolgt bezogen auf den jeweiligen Kontext (-Knoten) Anwendung in XSLT und XPointer

IV. Der Nutzen von XML Zusammenfassung I Problembezogene Auszeichnungssprachen XML als Datenaustauschformat XML als Format zur Datenspeicherung Flexibles Format zur Darstellung und Verarbeitung von Baumstrukturen Transformation in andere (XML-) Formate Möglichkeit der Meta-Daten Übertragung Überwindung von Inkompatibilitäten beim Datenaustausch in verteilten Systemen Gut lesbar von Mensch und Maschine Leicht zu durchsuchen und verarbeiten Seite 29

IV. Der Nutzen von XML Zusammenfassung II Seite 30 Dokumentklassenbildung mit DTDs/Schemata (Wiederverwendung) Erstellung von Software einfach und günstig Werkzeuge für XML vorhanden Schnittstellen für XML verfügbar Verwendung eines Dokumentes für die Ausgabe auf verschiedenen Medien Strukturierte Darstellung von Daten XML dennoch keine Universallösung sämtlicher Probleme im Web!

Entwicklung und Nutzen von XML <? Fragen?>