XML – Eine Einführung Seminar „XML und Datenbanken“ Christian Fuhrmann 08.05.2008 XML - Eine Einführung Gliederung 1. 2. 3. 4. Einführung Entwicklung Ziele von XML Sprachfamilie XML Christian Fuhrmann 08.05.2008 1. Einführung Gliederung 1. 2. 3. 4. Einführung Entwicklung Ziele von XML Sprachfamilie XML XML - Eine Einführung Christian Fuhrmann 08.05.2008 1. Einführung Rohdaten •Unverarbeitete Daten •Einzelner Datensatz •Benötigt Hintergrundwissen •Daten nur über Lage der Zeichen auslesbar XML - Eine Einführung Christian Fuhrmann 08.05.2008 1. Einführung Komma-getrennt • • • Ansatzweise Struktur durch Kommas Alternativ: Felder mit fester Länge (z.B. 8 Byte) Keine Kenntnis welche Felder zusammen gehören XML - Eine Einführung Christian Fuhrmann 08.05.2008 1. Einführung XML - Eine Einführung Christian Fuhrmann 08.05.2008 Gruppierte Felder •Hierarchie von Feldern und Unterfeldern •Zusammengehörigkeit verdeutlichen durch „,“ am Anfang und „$“ am Ende •Besserer Zugriff auf Daten •Kein Wissen über Felder, kennen nur Position XML - Eine Einführung 1. Einführung Christian Fuhrmann 08.05.2008 Gruppierte und benannte Felder •„,“ und „$“ durch <starttag> und </endtag> ersetzt •Jedes Feld im Datensatz hat einen Namen •Auf Felder anhand von Namen und Position verweisbar XML XML - Eine Einführung 1. Einführung Christian Fuhrmann 08.05.2008 Was ist XML? •XML – eXtensible Markup Language • • Seit Februar 1998 offizielle Empfehlung vom W3C Erweiterbar: • • • Keine vorgegebenen Tags Für beliebige Information können passende Tags und Attribute sowie eine geeignete Dokumentstruktur festgelegt werden Auszeichnungssprache • Text wird mit Textauszeichnungen (Markup) angereichert •Forderung der Wohlgeformtheit, u.a.: • • • Genau ein Wurzelelement Jedes Start-Tag muss zugehöriges End-Tag besitzen Elemente korrekt ineinander geschachtelt •Prüfung auf Gültigkeit durch entsprechendes Datenmodell • • DTD – Dokumenttypdefinition XML-Schema 2. Entwicklung Gliederung 1. 2. 3. 4. Einführung Entwicklung Ziele von XML Sprachfamilie XML XML - Eine Einführung Christian Fuhrmann 08.05.2008 2. Entwicklung XML - Eine Einführung Christian Fuhrmann 08.05.2008 troff & TeX Generic Coding – Erforschung durch Graphic Communications Association (GCA) 1960er – GenCode-Projekt Generalized Markup Language (GML) von IBM 1970er/1980er – SGML durch Team aus ANSI (+ Goldfarb) unterstützt durch GCA Gencode Komitee 1985 – SGML User Group traf sich erstmals in U.K. 1986 – Bestätigung eines Standard für SGML durch ISO 1990er – HTML 1990er – Versuch SGML und HTML zu kombinieren XML 02/1998 – XML 1.0 vom W3C als offizielle Empfehlung verabschiedet 10/2000 – XML 1.0 Second Edition 02/2004 – XML 1.0 Third Edition – XML 1.1 als Alternative zu XML 1.0 08/2006 – XML 1.0 Fourth Edition – XML 1.1 Second Edition . . . 2. Entwicklung XML - Eine Einführung Abgrenzung SGML-HTML-XML Christian Fuhrmann 08.05.2008 3. Ziele von XML Gliederung 1. 2. 3. 4. Einführung Entwicklung Ziele von XML Sprachfamilie XML XML - Eine Einführung Christian Fuhrmann 08.05.2008 3. Ziele von XML XML - Eine Einführung Christian Fuhrmann 08.05.2008 „Form should follow function“ • Besser mehrere Sprachen, jede speziell an vorhandene Daten angepasst, als eine universell für alle • Bessere Beschriftung der Daten, mehr Formatierungs- und Durchsuchungsmöglichkeiten 3. Ziele von XML XML - Eine Einführung Christian Fuhrmann 08.05.2008 Unmissverständlichkeit von Dokumenten • Soll nur eine Möglichkeit geben Namen, Reihenfolge und Hierarchie der Elemente zu interpretieren <html> <body> <p>Here is a paragraph. <p>And here is another. </body> </html> <flooby>an element <flooby>another element • Strenge XML Regeln reduzieren Fehler und Komplexität von Software • Nur kleiner Preis für gute Performance 3. Ziele von XML XML - Eine Einführung Christian Fuhrmann 08.05.2008 Textauszeichnung von Präsentation trennen • Für maximale Flexibilität für Ausgabeformat, Gestaltungsinformationen extern speichern (Stylesheets) <example>Goethe once said, <i>Lieben ist wie Sauerkraut</i>. I <i>really</i> agree with that statement.</example> <example>Goethe once said, <foreignphrase>Lieben ist wie Sauerkraut</foreignphrase>. I <emphasis>really</emphasis> agree with that statement.</example> • Erhöht Präsentationsmöglichkeiten Ändern der Stylesheets ohne Grunddaten zu ändern 3. Ziele von XML XML - Eine Einführung Christian Fuhrmann 08.05.2008 „Keep it simple“ • Einfachheit Hauptgründe für ansteckende Wirkung • XML 1.0 ist intuitiv, einfach zu lesen und elegant • Erlaubt eigene Auszeichnungssprache zu entwerfen, die logischen Regeln genügt • Teilmenge von SGML, ohne Dinge die man nicht braucht 3. Ziele von XML XML - Eine Einführung Christian Fuhrmann 08.05.2008 Erzwingt maximale Fehlerkontrolle • XML-Dokument so lange nicht wohlgeformt, so lange es nicht gewissen Syntax-Anforderungen genügt • Schwer bei Entwicklung, aber sichert Anwendbarkeit und Dauerhaftigkeit von Dokumenten 3. Ziele von XML XML - Eine Einführung Christian Fuhrmann 08.05.2008 Kulturunabhängig • Keine Grenzen durch z.B. lateinisches Alphabet oder deutsche bzw. englische Sprache • Verwendung von Unicode 4. Sprachfamilie XML Gliederung 1. 2. 3. 4. Einführung Entwicklung Ziele von XML Sprachfamilie XML XML - Eine Einführung Christian Fuhrmann 08.05.2008 3. Sprachfamilie XML XML - Eine Einführung Christian Fuhrmann 08.05.2008 4. Sprachfamilie XML XML - Eine Einführung Christian Fuhrmann 08.05.2008 • Kern von XML bildet die XML 1.0 Spezifikation (seit Februar 1998 Empfehlung von W3C) im Zusammenhang mit XML-Namespaces (seit Januar 1999) und XML-Schema (seit Mai 2001) • Theoretische Basis mit XML-Information Set (seit Oktober 2001) Ausführlich in [Vonhoeg] oder [Müller] 4. Sprachfamilie XML XML - Eine Einführung Christian Fuhrmann 08.05.2008 • XSL/XSLT • XSL (seit Oktober 2001 )zur Aufbereitung und Formatierung von XML-Dokumenten und Präsentation in gewünschten Medium • XSLT (seit November 1999; Januar 2007: XSLT 2.0) für Umwandlungen gegenüber dem XML-Quelldokument • XPath (seit November 1999; Januar 2007: XPath 2.0) • Anfragesprache für XML-Dokumente • Erweiterung von XPath durch XQuery • XPointer (seit März 2003) • Erweitert Adressierungsmöglichkeiten von Xpath durch Zeiger über die Grenzen des einzelnen Dokuments hinaus • XLink (seit Juni 2001) • Verknüpfungen zwischen Dokumenten Ausführlich in [Vonhoeg] 4. Sprachfamilie XML XML - Eine Einführung Christian Fuhrmann 08.05.2008 • DOM (Document Object Model) • Von W3C entwickelt worden, um den Zugriff auf Webdokumente, HTML oder XML zu vereinheitlichen • baumbasierter Ansatz • SAX (Simple API für XML) • De-facto Standard (keine offizielle W3c Empfehlung) von der Entwicklergemeinde schon seit längerem akzeptiert • ereignisbasierter Ansatz Ausführlich in [Vonhoeg] 4. Sprachfamilie XML XML - Eine Einführung Christian Fuhrmann 08.05.2008 • XHTML (eXtensible Hypertext Markup Language) • XML-kompatible Reformierung von HTML 4.0 • WML (Wireless Markup Language) • Sprache in der die Inhalte für WAP-Angebote für das Handy kodiert werden • SMIL (Synchronized Multimedia Integration Language) • Sprache für interaktive Multimedia-Lösungen im Web • SOAP (Simple Object Access Protocol) • Vokabular für den Nachrichtenaustausch zwischen Anwendungen Ausführlich in [Vonhoeg] oder [W3CH] XML - Eine Einführung Christian Fuhrmann 08.05.2008 Quellen [Vonhoeg] H. Vonhoegen. Einstieg in XML. Galileo Computing, Bonn, 4. Auflage, Bonn, 2007. [Müller] T. Müller. Verfahren zur Verarbeitung von XML-Werten in SQL-Anfrageergebnissen. Dissertation, Institut für Informatik, Friedrich-Schiller-Universität Jena, 2008. [Melton] J. Melton und S. Buxton. Querying XML: XQuery, XPath, and SQL/XML in Context. Morgan Kaufmann Verlag, San Francisco, 2006. [Thor] S. Thorhold und M. Nist. XML und Datenbanken - ein erster Eindruck. Anfangsvortrag zur Studienarbeit, Institut für Informatik, Friedrich-Schiller-Universität Jena, 2003. [Kazakos] W. Kazakos, A.Schmidt und P. Tomcyk. Datenbanken und XML. Springer-Verlag, Berlin Heidelberg, 2002. [Ray ] E. T. Ray. Learning XML. O‘Reilly Verlag, Köln, 2. Auflage, 2003. [Umst] W. Umstätter, Elektronisches Publizieren Vorlesungsunterlagen, Institut für BibliotheksHumboldt-Universität zu Berlin, 2000 [W3CX] World Wide Web Consortium (W3C). Extendible Markup Language (XML) 1.1 (Second Edition), August 2006, W3C Recommendation [W3CH] World Wide Web Consortium (W3C). XHTML 1.0: The Extensible HyperText Markup Language, Januar 2000, W3C Recommendation HTML / SGML / XML. und Informationswissenschaft, XML - Eine Einführung Vielen Dank für die Aufmerksamkeit! Christian Fuhrmann 08.05.2008