XML-Übersicht. Von HTML zu XML

Ähnliche Dokumente
XML-Übersicht. Von HTML zu XML. Nutzen von XML. Geschichte von XML. Eigenschaften von XML. Nutzen von XML (extensible Markup Language)

XML exemplarisch. nach: André Bergholz, Extending Your Markup: An XML Tutorial IEEE Internet Computing, Jul./Aug. 2000, 74 79

Tutorial zu Kapitel WT:III

Android will doch nur spielen XML

DTDs und XML-Schema. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

XML, XML-DTDs, und XML Schema

Dokumentverarbeitung

XML Extensible Markup Language

Zusammenfassung XML. Metasprache um Dokumenttypen zu definieren

Document Type Definition (DTD)

Hauptseminar Informatik. Die Strukturierung von XML-Dokumenten mit Hilfe von DTDs und XML Schema

Einführung in XML. Seminarunterlage. Version 3.05 vom

PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Konzeptionelle Modellierung von XML-Dokumenttypen

XML RSS. 1. Einführung 2. Syntax 3. Eigenschaften 4. Validierung 5. Fazit. 1. Einführung 2. Struktur 3. Fazit. Seite 2

Kritik von HTML. Multimedia-Technik XML. Syntax von XML-Dokumenten. Extensible Markup Language (XML) reine Strukturbeschreibung

Document Type Definitions (DTDs)

Einführung in die extensible Markup Language

Gunther Heinrich, Tobias Steimer. XML-Schema. Im Fach SOA, ISM 2008

Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis

DTDs und XML- Schemata

XML Schema 2016 S h_da S Seite 1

Kapitel WT:III (Fortsetzung)

XML allgemein. Gliederung. Einführung und Überblick. Strukturelle Grundkonzepte. Dokument-Typ-Definitionen (DTD) XML-Schema. XML und Datenbanksysteme

PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Deklaration standalone="yes" Quelle:

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Kapitel WT:III (Fortsetzung)

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

XML Schema vs. Relax NG

Beschreibung von Dokumenten mit DTDs

XML-Technologien. Tutorium im Sommersemester Mai 2014

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

XML. Teil 5: XML-Schemas. Abteilung Informatik WS 02/03

XML-Schema Datentypen

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

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

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

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

Logische Dokumentenstruktur mit SGML und XML

XML. Steffen Staab ISWeb Informationssysteme & Semantic Web

2a) Rekursion (zugeschnitten auf Anfrage) (C) Prof. E. Rahm Universität Leipzig

XSLT XSL Transformations

<B1>Skript</B1> Skript zur Vorlesung Auszeichnungssprachen Stand: September 2016

2. Klausur Web-basierte Informationssysteme SS 2015

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

XML - die zukünftige Sprache des WWW? Daten im WWW strukturiert speichern, übertragen, darstellen und verketten. Max Riegel XML

Lösungen zum Praktikum XML-Technologien XML-Grammatiken

Einführung in XML Extensible Markup Language

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

XSLT XSL Transformations

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

DTD: Syntax-Zusammenfassung

<B1>Skript</B1> Skript zur Vorlesung Auszeichnungssprachen Stand: September 2016

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

2. Klausur Web-basierte Informationssysteme SS 2016

XML-Schema. Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

XML Schema 2012/2013 S Seite 1 h_da W

Beuth Hochschule Verschiedene Bestandteile einer XML-Datei WS10/11

Web Technologien XML, XQuery, XPath und XSLT

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

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

Was ist SGML. - welche Auszeichnungen (Mark up) sind erlaubt? - welche Auszeichnungen sind notwendig?

Herbstsemester Januar Datenbanksysteme II

Repräsentation von Struktur

Semantic Web Technologies I

XML. extensible Markup Language

XML Extensible Markup Language

XSD - XML Schema Definition

Seminar: mobile GIS Austausch von Geodaten

Klaus Schild, Klaus Schild, Element-Deklaration: 1. Möglichkeit

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

Datenaustauschformate. Datenaustauschformate - FLV

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

XML Schema 2015 S h_da S Seite 1

1. Klausur Web-basierte Informationssysteme SS 2010

PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Zusammenfassung M. Rigling 1/22 Version 1.0

ASN.1 <-> XML TRANSLATION

Aufgabe 5.1: (a) Lösung:

XML. Basis Syntax. Basis Syntax. XML (extensible Markup Language)

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

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001

Tutorial 3 Einführung in XML

Michel Messerschmidt Diplomarbeit. Entwurf einer Sprache zur Klassifizierung von Malware-Vorfällen

Klausur zur Vorlesung Einführung in XML

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Web (Site) Engineering (WebSE)

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

Warum XML-Schema? XML-Schema DTD

XML Vorlesung ETHZ SS XML Vorlesung ETHZ, Sommersemester

Übung zur Vorlesung Digitale Medien. Hanna Schneider Ludwig-Maximilians-Universität München Wintersemester 2014/2015

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

XML Extensible Markup Language

XML. XML-Einführung. u n i. XML-Grundlagen. Dr. Eckhardt Schön TU Ilmenau Institut für Medientechnik, FG Audiovisuelle Technik.

Definition von Datentypen mit XML- Schemata

XML und Datenbanken Fortsetzung

Transkript:

XML-Übersicht Nutzen von XML (extensible Markup Language) Aufbau von XML-Dokumenten Definition von Grammatiken: DTD und XML Schema XML-Nutzung: Parser und Stylesheets mit schwarz-roter Linie aus: Vorlesung von Prof. Fischer (TU Braunschweig): http://www.ibr.cs.tu-bs.de/lehre/ss02/web/ Dort auch (Kap. 8) ausführliche Darstellung des Stoffes XML (Puppe) 1 Beschränkungen von HTML Von HTML zu XML gut für darstellungsorientierte Elemente (z.b. <I>.. </I>) schlecht für inhaltsorientierte Tags (z.b. <ADRESS>..) HTML nicht wirklich inhaltsorientiert ausbaubar Versuch in HTML-4-Standard, z.b. für <PERSON> aber: Wünsche bzgl. Umfang und Granularität zu heterogen Umfang: z.b. für Geschäftsanwendungen spezielle Tags nötig Granularität: z.b. bei <PERSON>: Vornamen? (wie viele?, Intials?), Nachname (auch Geburtsname?), Titel?, Anrede? XML erlaubt die Definition beliebiger inhaltsorientierter Tags und ist daher logische Ergänzung zu HTML HTML: wie stelle ich einen Text da? XML: Was ist die Bedeutung eines Textes? XML (Puppe) 2 1

Geschichte von XML 1996 wurde XML als Diskussionsvorschlag verabschiedet. 1998 wurde XML als Standard vom W3-Konsortium in der Version 1.0 beschlossen. XML ist eine Teilmenge von SGML; das WWW und HTML hatten auf die Entstehung von XML einen großen Einfluss. 1997 1992 XML HTML WWW 1986 SGML 1960 Generalized Markup Internet XML (Puppe) 3 Nutzen von XML Trennung von Inhalt, Struktur und Layout: verschiedene Präsentationen (z.b. Webauftritte, Broschüren, Preiskataloge usw.) aus derselben Datenquelle Single Source Prinzip: write once, read everytime Content Management Systeme Automatische Extraktion von Inhalten: Daten werden nicht nur für Menschen präsentiert (wie in HTML) sondern können auch von Programmen weiterverarbeitet werden. (B2B) Business to Business Applications Informationsagenten im Netz (z.b. Preisvergleiche) XML (Puppe) 4 2

Eigenschaften von XML Markierungssprache (Auszeichnungssprache) Meta-Markierungssprache keine festen Marken Sprachgenerator Syntax überprüfbar, XML Parser wohlgeformt gültig Markierung von Inhalt gemäß Struktur, nicht Darstellung Ausnahme XSL-FO allgemeines textuelles Datenaustauschformat XML ist keine Programmiersprache oder Datenbank XML (Puppe) 5 type XML (Puppe) 6 3

Vorspann: Bestandteile von XML Version: z.b. <?xml version = "1.0"> DTD: Verweis auf Grammatik: <!DOCTYPE > (Verarbeitungsvorschrift) Elemente (Tags): z.b. <offer>, <store>, <book> usw. ähnlich wie in HTML, aber selbstdefiniert Attribute: z.b. bei <price>: type = "retail" ähnlich wie in HTML, aber selbstdefiniert Entitäten: (nicht im Beispiel vorhanden) zur Wiederverwendung und Modularisierung von Texten XML (Puppe) 7 XML (Puppe) 8 4

XML (Puppe) 9 XML (Puppe) 10 5

XML (Puppe) 11 XML (Puppe) 12 6

XML (Puppe) 13 XML (Puppe) 14 7

Definition einer DTD Formulierung der Terminale: Elemente: <!ELEMENT Name Wert> Name: nur Buchstaben, Ziffern und "." "-" "_" sind erlaubt; Groß- / Kleinschreibung relevant; darf nicht mit "xml" beginnen Wert: (#PCDATA) ANY EMPTY Elemente (#PCDATA Elemente)*> Formulierung der Regeln für Elemente (a, b, c, = Elemente): - Gruppierung: (a b) oder (a b c) - Alternative: a b oder a b c - Sequenz: a, b oder a, b,c - Wiederholung 0.. n: a * - Wiederholung 1.. n: a + - Wiederholung 0.. 1: a? Attribute: <!ATTLIST Elementname Attributliste> Elementname: Name eines definierten Elementes Attributliste: Name Typ Bedeutung Typ: CDATA ID IDREF IDREFS Entity ( (Name Name )* ) Bedeutung: #IMPLIED #REQUIRED Name #FIXED Name Entitäten: <!entity "kuerzel" "Ersetzungstext"> <!entity "kuerzel" system "Verweis"> XML (Puppe) 15 Erlaubte Typen bei Attributen (meist "CDATA") XML (Puppe) 16 8

Bedeutung bei Attributen XML (Puppe) 17 Typen von Elementen XML (Puppe) 18 9

(nachname, vorname) XML (Puppe) 19 15 XML (Puppe) 20 10

XML (Puppe) 21 XML (Puppe) 22 11

Vorteile von XML-Schemata Jedes XML Schema ist selbst ein XML-Dokument (im Gegensatz zu DTD keine spezielle Syntax mit speziellen Verarbeitungswerkzeugen erforderlich) Auch komplexe Integritätsbedingungen formulierbar. XML Schema enthält vordefinierte und eigendefinierbare Datentypen, wodurch Typprüfung möglich wird. Bei Datentypen werden Vererbung und Substitution unterstützt. Nullwerte sind wie bei Referenzen und in Datenbanken darstellbar. Modularisieren & Wiederverwenden von XML Schemata ist möglich Benennungskonflikte können durch Verwendung von XML- Namensräumen vermieden werden. XML (Puppe) 23 Beispiel: XML-Dokument für ein Buch <?xml version="1.0" encoding="utf-8"?> <book isbn="0836217462"> <title> Being a Dog Is a Full-Time Job </title> <author>charles M. Schulz</author> <character> <name>snoopy</name> <friend-of>peppermint Patty</friend-of> <since>1950-10-04</since> <qualification> extroverted beagle </qualification> </character> <character> <name>peppermint Patty</name> <since>1966-08-22</since> <qualification>bold, brash and tomboyish</qualification> </character> </book> XML (Puppe) 24 12

Definition der Struktur mit XML-Schema 1. Öffnung eines xs-schema Elementes: <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema">.../... </xs:schema> 2. Definitionsstruktur der Elemente: <xs:element name="book"> <xs:complextype> <xs:sequence>.../... </xs:sequence>.../... </xs:complextype> </xs:element> Ein Buch ist ein "complextype", da es Attribute und andere Elemente enthält (Alternative: "simpletype" für Strings). Die Nachfolger werden durch ein "sequence"-element zusammengefasst (andere Kompositoren: "choice" und "all") XML (Puppe) 25 Definition der Elemente 3. Titel und Autor sind einfache Typen: <xs:element name="title" type="xs:string"/> <xs:element name="author" type="xs:string"/> 4. Character hat eine Kardinalität (0.. ) und ist komplex: <xs:element name="character" minoccurs="0" maxoccurs="unbounded"> <xs:complextype> <xs:sequence>.../... </xs:sequence> </xs:complextype> </xs:element> 5. Elemente von Character: <xs:element name="name" type="xs:string"/> <xs:element name="friend-of" type="xs:string" minoccurs="0" maxoccurs="unbounded"/> <xs:element name="since" type="xs:date"/> <xs:element name="qualification" type="xs:string"/> XML (Puppe) 26 13

Definition des Attributes 6. Attribute werden immer am Ende definiert, hier die ISBN zum Buch: <xs:attribute name="isbn" type="xs:string"/> XML (Puppe) 27 Die komplette Definition des Beispiels: <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:element name="book"> <xs:complextype> <xs:sequence> <xs:element name="title" type="xs:string"/> <xs:element name="author" type="xs:string"/> <xs:element name="character" minoccurs="0" maxoccurs="unbounded"> <xs:complextype> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="friend-of" type="xs:string" minoccurs="0" maxoccurs="unbounded"/> <xs:element name="since" type="xs:date"/> <xs:element name="qualification" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> </xs:sequence> <xs:attribute name="isbn" type="xs:string"/> </xs:complextype> </xs:element> </xs:schema> XML (Puppe) 28 14

2. Beispiel für XML-Schema <xsd:schema xmlns:xsd="http://www.w3.org/2001/xmlschema"> <element name="paper" type="papertype" /> <xsd:complextype name="papertype"> <xsd:sequence> <xsd:element name="autor" type="xsd:string"/> <xsd:element name="titel" type="xsd:string"/> <xsd:element name="datum" type="xsd:gyearmonth"/> <xsd:element name="link" type="xsd:anyuri minoccurs="0"/> </xsd:sequence> <xsd:attribute name="typ" type="art"/> </xsd:complextype> XML (Puppe) 29 2. Beispiel für XML-Schema (2) <xsd:simpletype name="art"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="proc"/> <xsd:enumeration value="report"/> <xsd:enumeration value="journal"/> <!-- and so on... --> </xsd:restriction> </xsd:simpletype> XML (Puppe) 30 15

(1) XML (Puppe) 31 XML (Puppe) 32 16

(2) XML (Puppe) 33 XML (Puppe) 34 17

XSLT XML Applikation :Transformation von XML Dokumenten Umwandeln des Input-Baums in Output-Baum Durchlauf Preorder Anwenden von Templates (Filtern) auf ausgewählte Knoten Datenstrombasierte (funktionale) Programmierung Input wohlgeformt output nicht notwendig XML (Puppe) 35 XML (Puppe) 36 18

XML (Puppe) 37 XML (Puppe) 38 19

XML (Puppe) 39 XML (Puppe) 40 20

XML (Puppe) 41 XML (Puppe) 42 21

XLink XML Anwendungen CSS: Cascading Style Sheets (einfache Formatierung) DSSSL: Document Style Semantics & Specification Language(komplexe Formatierung; SGML-basiert) XLink: Einbinden von externem XML Text XHTML: XML-kompatibles HTML XSL-FO: formatted objects layout Beschreibung XSLT: extensible Stylesheet Language Transformation Sprache zur Beschreibung von Regeln zur Transformation zwischen XML Dokumenten XPointer: Verweis auf XML Dokumente XPath: Verweis auf Elemente in einem XML Dokument XHTML XSL-FO XSLT XPointer CSS DSSSL XML XPath XML (Puppe) 43 Kooperation XSLT - Transform wohlgeformt XML - Inhalt - Element * 1 DTD gültig - Struktur - Elementdef darstellen stylesheet - Darstellung css dsssl xsl-fo XML (Puppe) 44 22

Ablauf XML Text DTD XML Parser DOM Format XSLT Templates XSLT Prozessor XML Text XSL-FO Objekte XHTML Text HTML-Browser FO Prozessor PDF Text XML (Puppe) 45 WWW Links zu XML Spezifikationen: Kommerziell: e-business: http://www.w3.org/ http://www.xml.org/ http://www.ebxml.org/ public domain tools: http://www.garshol.priv.no/download/xmltools/ XML (Puppe) 46 23

XML (Puppe) 47 24