1 Einführung in XML Literatur: Vorlesung "Interoperable Informationssysteme" Klemens Böhm, ETH Zürich (www-dbs.ethz.ch/~ii/SS2000) Vorlesung "Interoperable.

Slides:



Advertisements
Ähnliche Präsentationen
XML-basierte Techniken
Advertisements

Extensible Markup Language
XML.
Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
Dipl.- Dok. Rusalka Offer
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
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,
HTML - Einführung Richard Göbel.
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.
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
HTML - Eine erste Annäherung
XML-basierte Techniken
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.
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
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.
Einführung XML XML Einführung Andreas Leicht.
Geoinformation III Vorlesung 13b XML-Schema.
© data2type 2005, 1 Publishing mit XML Einsatz von XSL für das multimediale, automatisierte Publishing.
1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik
XML und Datenbanken - Einführung in XML -
Tobias Högel & Dennis Böck,
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Der Supermarkt: Eine beispielhafte Erklärung für die fünf untersten Schichten des Semantic Web Protocol Stack Nicola Henze.
XSLT.
XML eXtensible Markup Language
DTD – Deklaration von Elementen Beschreibt die Einschränkungen des Inhalts eines Elements Syntax: Einziger atomarer Typ: #PCDATA (Parsed Character DATA)
Fortsetzung DTDs, UML  XML
Java für Fortgeschrittene
Information und ihre Darstellung: XHTML & CSS
Sesame Florian Mayrhuber
('Extended Markup Language’)
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
XML und Datenbanken © 2006 Markus Röder
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.
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
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.
Peter Brezany Institut für Softwarewissenschaften Universität Wien
Geoinformation3 Geoinformation III XML Grundlagen und Dokumentspezifikation Vorlesung 12b.
XML Grundlagen, Namensräume & Hyperlinks
Einführung xHTML / cHTML Stefan Pietschmann | Katja Pischke Gliederung Einführung xHTML  Überblick  Gründe für xHTML  Unterschiede zu HTML  DTDs und.
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.
XML - Warum: Das HTML-Dilemma HTML, SGML, XML - Wie: Syntax, Konzepte, Sprachelemente Basics Wohlgeformte XML-Dokumente (ohne DTD) Gültige XML-Dokumente.
IT-Zertifikat_Seminar: Metadatenstandards XSLT Eine Transformationssprache.
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.
Einführung in XML - Teil 1
XSLT I Re-usable Content in 3D und Simulationssystemen Dozent: Prof. Manfred Thaller Referentin: Elisabeth Chang.
Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
Datentransformation mit XSLT Seminarvortrag von Johannes Engels.
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.
Dokumentenproduktion im Medienzentrum
 Präsentation transkript:

1 Einführung in XML Literatur: Vorlesung "Interoperable Informationssysteme" Klemens Böhm, ETH Zürich (www-dbs.ethz.ch/~ii/SS2000) Vorlesung "Interoperable Informationssysteme" Klemens Böhm, ETH Zürich (www-dbs.ethz.ch/~ii/SS2000) XML/XSL Tutorial der W3School ( XML/XSL Tutorial der W3School ( W3C XML Activity ( W3C XML Activity (

2 Gliederung MotivationMotivation XML-KonzepteXML-Konzepte XML-VerarbeitungXML-Verarbeitung Erweiterungen (Übersicht)Erweiterungen (Übersicht) XSLXSL XML-PerspektivenXML-Perspektiven Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

3 Was ist XML? Akronym für eXtensible Markup LanguageAkronym für eXtensible Markup Language Syntax zum Strukturieren von Dokumenten und DatenSyntax zum Strukturieren von Dokumenten und Daten Basis für viele Erweiterungen, z.B.Basis für viele Erweiterungen, z.B. –Namensräume –Stylesheets –Hyperlinks –Schemata Empfehlung des W3CEmpfehlung des W3C Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

4 Was ist XML nicht? kein Protokollkein Protokoll –Sprache zur Datenbeschreibung, nicht Satz von Regeln –Allerdings können Regeln in XML ausgedrückt werden keine Programmiersprachekeine ProgrammierspracheAllerdings –können XML-Dokumente Codefragmente enthalten –haben aufsetzende Standards Programmiersprachen- Semantik (XSLT) keine "magische" Semantikkeine "magische" Semantik Interpretation des Inhalts durch –Menschen –Applikationen –Zusatz-Standards Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

5 Warum XML? einfacheinfach –zu lesen durch Menschen –zu verarbeiten durch Maschinen –zu generieren erweiterbarerweiterbar –XML ist nur generische Syntax –Zusatz-Standards nutzen diese Syntax standardisiertstandardisiert –weithin akzeptiertes Format –Standard-Tools als Basiskomponenten für Applikationen Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

6 "XML will be the ASCII of the Web basic: essential, unexciting" Tim Bray Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

7 XML-Beispiel Ei Mehl Salz Alles zusammen- rühren und backen. Textuelle Darstellung Ei MehlSalzAlles zusammen- rühren und backen. rezept zutaten anleitung Graphische Darstellung { anzahl="3" } zutat Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

8 XML versus HTML SGML (Standard Generalized Markup Language) HTMLXML   Instanz von SGML Instanz von SGML Vermischung von Inhalt und Layout Vermischung von Inhalt und Layout Anzeigen von Information Anzeigen von Information Subset von SGML Subset von SGML Strikte Trennung von Inhalt und LayoutStrikte Trennung von Inhalt und Layout Beschreiben von Information Beschreiben von Information XHTML ist Instanz von XML Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

9 Anwendungszenarien Anwendungsspezifisches Layout mit Standard-SoftwareAnwendungsspezifisches Layout mit Standard-Software DatenaustauschDatenaustausch Ressourcen-BeschreibungRessourcen-Beschreibung Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

10 Layout <!-- XML-Page generated by PENELOPE. XML-Page generated by PENELOPE Araneus Group and University 'Roma Tre', Rome, ITALY 1999 Araneus Group and University 'Roma Tre', Rome, ITALY--> <HomePage> March March Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

11 Layout (2) Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

12 XML-Dok. (Layout- transf.) Layout (3) Standard- Software (XSL-Prozessor) XML-Dok. (Gerätespez. Layout) Standard- Software (HTML-Browser) Mapping eines XML-Dokuments auf verschiedene Ausgabeformate benötigt keine Spezialsoftware. XML-Dok. (Daten) XML-Dok. (Layout- transf.) Standard- Software (WAP-Browser) XML-Dok. (Gerätespez. Layout) Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

13 Datenaustausch RDBMS XML-Generator (bald Standard?) XML-Parser (Standard) DB-Loader (spezifisch) OODBMS DOMSAX Standard-Interfaces XML erleichtert Datenaustausch durchXML erleichtert Datenaustausch durch –Standardisiertes Datenformat –Standardisierte Softwareschnittstellen (z.B. DOM) –Standardsoftware (z.B. Parser) Interpretation der XML-Dokumente anwendungsspezifisch.Interpretation der XML-Dokumente anwendungsspezifisch. Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

14 Datenaustausch (2) Weitere Beispiele: Unternehmensdaten (Rechnungen etc.)Unternehmensdaten (Rechnungen etc.) Format für EJB deployment descriptionsFormat für EJB deployment descriptions Grundlage des Dokument Modells und des Druck/Font-Frameworks des Gnome-ProjektsGrundlage des Dokument Modells und des Druck/Font-Frameworks des Gnome-Projekts Natives Datenformat einiger KDE/Gnome Word- Prozessoren (Abiword, Gwp, KWord,...)Natives Datenformat einiger KDE/Gnome Word- Prozessoren (Abiword, Gwp, KWord,...) Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

15 Ressourcen-Beschreibung XML kann als Datenformat zur Speicherung von Ressourcen-Beschreibungen verwendet werden. Creator <RDF xmlns=" xmlns=" xmlns:s=" xmlns:s=" Fritz Müller Fritz Müller </RDF> Homepage Fritz Müller RDF-Modell XML-Syntax Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

16 XML Konzepte UnicodeUnicode Dokument (logische und physische Struktur)Dokument (logische und physische Struktur) Korrektheitsbegriffe (wohlgeformt, valide)Korrektheitsbegriffe (wohlgeformt, valide) Syntaktische KonstrukteSyntaktische Konstrukte –Elemente –Attribute –Processing Instructions –... Document Type Description (DTD)Document Type Description (DTD) Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

17 Unicode Zeichen in XML sind Integer-ZahlenZeichen in XML sind Integer-Zahlen Unicode: Abbildung der Zahlen auf ZeichenUnicode: Abbildung der Zahlen auf Zeichen Unicode 3.0:Unicode 3.0: – belegte Zeichen –25 Sprachen, mehrere Symbolzeichensätze, etc. Unicode kodiert keine FontsUnicode kodiert keine Fonts Drei Darstellungsformen: UTF-8, UTF-16, UTF-32Drei Darstellungsformen: UTF-8, UTF-16, UTF-32 Erste 127 Unicode Zeichen = ASCII-AlphabetErste 127 Unicode Zeichen = ASCII-Alphabet Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

18 Andere Encodings Verwendung anderer Encodings möglichVerwendung anderer Encodings möglich Spezifiziert durch encoding AttributSpezifiziert durch encoding Attribut Support durch Prozessor nicht zwingendSupport durch Prozessor nicht zwingend Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

19 Übersicht: XML-Dokument XML-Dokumente bestehen aus PrologProlog logischer Struktur (Elemente)logischer Struktur (Elemente) physischer Struktur (Entities)physischer Struktur (Entities) Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

20 Elemente Elemente haben einen Namen. Bildungsregel: letter (letter | digit |. | : | - | _)*Elemente haben einen Namen. Bildungsregel: letter (letter | digit |. | : | - | _)* Namen sollten 'sinnvoll' sein, um die spätere Interpretation durch den Menschen zu gewährleisten.Namen sollten 'sinnvoll' sein, um die spätere Interpretation durch den Menschen zu gewährleisten. Elemente haben öffnenden und schließenden Tag:... Elemente haben öffnenden und schließenden Tag:... Elemente sind hierarchisch verschachtelt:... Elemente sind hierarchisch verschachtelt:... Spezielles Element: Dokument-ElementSpezielles Element: Dokument-Element Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

21 Elemente: Beispiel Dokument-Element zutaten sind enthalten in rezept Ei Mehl Salz Alles zusammen- rühren und backen. Ei MehlSalzAlles zusammen- rühren und backen. rezept zutaten anleitung { anzahl="3" } zutat Element Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

22 Attribute Attribute sind Bestandteile von Elementen.Attribute sind Bestandteile von Elementen. Elemente können beliebig viele Attribute haben.Elemente können beliebig viele Attribute haben. Spezifiziert durch Name-Wert-Paar im Start-Tag:Spezifiziert durch Name-Wert-Paar im Start-Tag: Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

23 Warum Attribute? Attribute können getypt werden (später)Attribute können getypt werden (später) Bessere Lesbarkeit des DokumentsBessere Lesbarkeit des Dokuments Weniger SpeicherbedarfWeniger Speicherbedarf Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

24 PCDATA PCDATA = Parseable Character DATA Sequenz von Zeichen, die nicht durch Elemente unterbrochen wird.Sequenz von Zeichen, die nicht durch Elemente unterbrochen wird. Zeichen- und Entity-Referenzen (später) werden durch deren Inhalt ersetzt.Zeichen- und Entity-Referenzen (später) werden durch deren Inhalt ersetzt. Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

25 Korrektheitsbegriffe Wohlgeformtheit Dokument entspricht den syntaktischen Regeln –Genau ein Dokument-Element –Jedes öffnende Tag hat ein schließendes Tag. –Die Verschachtelung ist balanciert. Gegenbeispiel: Gegenbeispiel: Validität Dokument ist –wohlgeformt –konform zu einer Document Type Description (DTD) Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

26 Document Type Description (DTD) XMLXMLRelationenmodellRelationenmodellDTDDTDDatenbankschemaDatenbankschema DokumentDokumentDatenbankDatenbank Eine DTD definiert die zulässige Struktur von XML Dokumenten Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

27 Vergleich DTD und DB-Schema Vorhandensein Datenbank muß Schema besitzenDatenbank muß Schema besitzen XML-Dokument kann DTD besitzenXML-Dokument kann DTD besitzenMächtigkeit DTD bestimmtDTD bestimmt –Struktur –Typen (nur bei Attributen) Datenbankschema bestimmtDatenbankschema bestimmt –Struktur (z.B. Relationen und deren Beziehungen) –Datentypen –Kardinalitäten –... Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

28 DTD: Grundsätzlicher Aufbau Eine DTD ist eine Sequenz von Element-, Attribut- und Entity-Deklarationen.Eine DTD ist eine Sequenz von Element-, Attribut- und Entity-Deklarationen. Eine Element-Deklaration legt das Inhaltsmodell eines Elements fest.Eine Element-Deklaration legt das Inhaltsmodell eines Elements fest. Das Inhaltsmodell ist ein regulärer Ausdruck, der den Aufbau des direkten Inhalts festlegt.Das Inhaltsmodell ist ein regulärer Ausdruck, der den Aufbau des direkten Inhalts festlegt. Alle in einem Dokument benutzten Elemente, Attribute und Enitities müssen deklariert sein.Alle in einem Dokument benutzten Elemente, Attribute und Enitities müssen deklariert sein. Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

29 Element-Deklaration Syntax: Syntax: Beispiel: Beispiel: Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

30 Element-Deklaration: Varianten Elementinhalt Elementinhalt Leeres Element Leeres Element Element mit beliebigem Inhalt Element mit beliebigem Inhalt Gemischter Inhalt ("mixed content") Gemischter Inhalt ("mixed content") Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

31 Element-Deklaration: Varianten Sequenz Sequenz Alternative Alternative Occurrence IndicatorsOccurrence Indicators – –Optional (Null- oder Einmal) – –Optional wiederholbar (beliebig oft) – –Notwendig und wiederholbar (mindestens einmal) Inhaltsmodelle können mit Klammern kombiniert werden. Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

32 Attribut-Deklaration Syntax Syntax Mögliche Vorgaben:Mögliche Vorgaben: –Notwendiges Attribut#REQUIRED –Optionales Attribut#IMPLIED –Vorbelegung"Wert" –Festes Attribut#FIXED "Wert" Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

33 Attribut-Typen (Auswahl) CDATA (Zeichenkette) CDATA (Zeichenkette) Aufzählungstyp Aufzählungstyp ID, IDREFID, IDREF –ID ist eindeutig in einem Dokument –IDREF ist eine Referenz auf eine ID –IDREF ist eine Referenz auf eine ID Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

34 Eine DTD für Kochrezepte <!ATTLISTzutat nummerID#REQUIRED mische-mit IDREF#IMPLIED nötig(ja|nein) "ja"> Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

35 Einbinden einer DTD Externe DTD-Deklaration... Externe DTD-Deklaration... Interne DTD-Deklaration ]> Dies ist ein Rezept Interne DTD-Deklaration ]> Dies ist ein Rezept Gemischte Nutzung ]>... Gemischte Nutzung ]>... Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

36 DTD - Probleme Historisches Überbleibsel von SGMLHistorisches Überbleibsel von SGML Spezielle Syntax erforderlichSpezielle Syntax erforderlich Syntaktische Einschränkungen " Element a enthält Elemente b, c, d in beliebiger Reihenfolge" nur so ausdrückbar: Syntaktische Einschränkungen " Element a enthält Elemente b, c, d in beliebiger Reihenfolge" nur so ausdrückbar: Mangelhaftes TypkonzeptMangelhaftes Typkonzept –nur Attribute haben generische + nutzerdefinierbare Typen –Keine Komplexen Datentypen –Keine Kardinalitätsrestriktionen Viele Schemavorschläge (XML Schema, SOX,...) Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

37 Notations Mechanismus, um einen Namen zu InterpretierenMechanismus, um einen Namen zu Interpretieren Notationen können u.a. die Interpretation von Attributen festlegen.Notationen können u.a. die Interpretation von Attributen festlegen. AnwendungenAnwendungen –Multimedia-Dokumente –Typsysteme Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

38 CDATA CDATA-Abschnitte überall, wo Character Data vorkommen darf.CDATA-Abschnitte überall, wo Character Data vorkommen darf. CDATA wird nicht vom Parser bearbeitet.CDATA wird nicht vom Parser bearbeitet. Oft verwendet für eingebetteten Code.Oft verwendet für eingebetteten Code....<script> <![CDATA[ <![CDATA[ if ( a < b ) { if ( a < b ) { subroutine(a, b) subroutine(a, b) } else { } else { subroutine(b, a) subroutine(b, a) } ]]> ]]></script>... Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

39 Processing Instruction (PI) PIs sind nicht Teil des Dokumenttextes.PIs sind nicht Teil des Dokumenttextes. PIs werden an Applikationen durchgereicht.PIs werden an Applikationen durchgereicht. PIs, die mit xml beginnen, sind reserviert und werden vom Parser interpretiert.PIs, die mit xml beginnen, sind reserviert und werden vom Parser interpretiert. PI beginnt mit Target, dh. Bezeichner der Applikation, z.B. perl.PI beginnt mit Target, dh. Bezeichner der Applikation, z.B. perl. <?xml version="1.0" encoding="ISO " standalone="no" version="1.0" encoding="ISO " standalone="no"?> Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

40 Zeichenreferenzen, Kommentare Zeichenreferenzen können beliebige Unicode-Zeichen identifizieren.Zeichenreferenzen können beliebige Unicode-Zeichen identifizieren. Kommentare sind überall erlaubt, aber nicht vor.Kommentare sind überall erlaubt, aber nicht vor. û und û erzeugen das Zeichen © <!-- Dies ist ein Kommentar --> Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

41 Logische vs. physische Struktur Logische Struktur Mit Markup explizit gemachtMit Markup explizit gemacht Physische Struktur ErsetzungsmechanismusErsetzungsmechanismus beruht auf dem Konzept der Entitiesberuht auf dem Konzept der Entities Entities bestehen aus Namen und InhaltEntities bestehen aus Namen und Inhalt Parser ersetzt Entity-Name durch InhaltParser ersetzt Entity-Name durch Inhalt interne Entity: Name und Inhalt in selbem Fileinterne Entity: Name und Inhalt in selbem File externe Entity: Name und Inhalt in verschiedenen Filesexterne Entity: Name und Inhalt in verschiedenen Files Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

42 Entities: Beispiel Salz Salz Mehl Mehl &default; &default; Milch Milch Entity-Definition Entity-Deklaration Entity-Referenz Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

43 Warum Entities? WiederverwendungWiederverwendung Größe der FilesGröße der Files –Übertragungsdauer –Caching von Entity-Inhalten Nicht-XML-Ressourcen, z.B. BinariesNicht-XML-Ressourcen, z.B. Binaries Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

44 XML-Verarbeitung Application MM-Tool 1 MM-Tool 2 XML Processor <?xml version="1.0" Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

45 Auf XML aufbauende Standards Sehr viele auf XML aufbauende Vorschläge:Sehr viele auf XML aufbauende Vorschläge: –Namensräume –DTDs (XHTML, WAP, MathML, SMIL,...) –Schemata (XML Schema, XML Data, SOX, DDML,...) –Pointers und Links (XPointer, XPath, XLink) –Programmierschnittstellen (DOM, SAX) –Beschreibungssprachen (RDF) –Transformation und Layout (CSS, XSLT, XSL,...) –Querying (Lorel, XQL, YATL, XML-QL, Quilt,...) –... Hier nur zwei Beispiele:Hier nur zwei Beispiele: –Layout mit XSL –Querying mit XQL und XML-QL (nächste Vorlesung) Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

46 Logische Struktur vs. Layout XML-Dokumente haben logische Struktur (sie beschreiben Daten)XML-Dokumente haben logische Struktur (sie beschreiben Daten) Zur Darstellung ist Layout-Struktur notwendigZur Darstellung ist Layout-Struktur notwendig Layout abhängig vonLayout abhängig von –Ausgabegerät (Browser, Drucker, WAP-Device,...) –Nutzerwünschen Format (HTML, WAP, PDF,...)Format (HTML, WAP, PDF,...) Struktur (Teildokumente, Umsortierung,...)Struktur (Teildokumente, Umsortierung,...) Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

47 EXtensible Style sheet Language (XSL) XSL ist eine TransformationsspracheXSL ist eine Transformationssprache –XML nach XML –XML nach HTML –XML nach PDF, RTF,... –XML nach "XML Formatting Objects Language" XSL besteht aus drei TeilenXSL besteht aus drei Teilen –XSLT (Transformationsprache) –XPath (Pfade durch XML-Dokumente) –XML Formatting Objects (plattformunabhängige Beschreibung des gelayouteten Dokuments) Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

48 XSL (2) XSL verwendet die XML-SyntaxXSL verwendet die XML-Syntax XSL-Dokumente werden mit Processing Instruction in XML-Dokument eingebunden... XSL-Dokumente werden mit Processing Instruction in XML-Dokument eingebunden... XSL-Dokumente benutzen Namensraum "xsl" XSL-Dokumente benutzen Namensraum "xsl"... Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

49... spezifizieren die Dokument-Transformation... bestehen aus zwei Teilen: Pattern, das mit dem Source Tree gematcht wirdPattern, das mit dem Source Tree gematcht wird Template, das in den Result Tree eingesetzt wirdTemplate, das in den Result Tree eingesetzt wird Hier ist das Rezept! Hier ist das Rezept! XSL - Template Rules Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

50 XSL - Elemente Hier behandelt: WerteinsetzungWerteinsetzung IterationIteration FilterFilter BedingungenBedingungen AuswahlAuswahl SortierenSortieren "Sub"-Templates"Sub"-Templates Nicht behandelt Variablen, Modi, Kopieren,...Variablen, Modi, Kopieren,... Konflikt-BehandlungKonflikt-Behandlung Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

51 Wdh.: Eine DTD für Kochrezepte <!ATTLISTzutat nummerID#REQUIRED mische-mit IDREF#IMPLIED nötig(ja|nein) "ja"> Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

52 Werteinsetzung Hier die Anleitung: Hier die Anleitung: Alles zusammenrühren und backen. Alles zusammenrühren und backen. xsl:template match gibt den Kontext vorxsl:template match gibt den Kontext vor xsl:value-of select setzt Inhalt eines Subelements einxsl:value-of select setzt Inhalt eines Subelements ein Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

53 Iteration xsl:for-each wiederholt Block für jeden Match von selectxsl:for-each wiederholt Block für jeden Match von select Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

54 Filter Filter sind Bestandteil des XPath-StandardsFilter sind Bestandteil des XPath-Standards Vergleichsoperatoren: =, !=, <, >Vergleichsoperatoren: =, !=, <, > Hier: Block wird nur für Zutaten vom Typ 'Salz' eingesetzt.Hier: Block wird nur für Zutaten vom Typ 'Salz' eingesetzt. Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

55 Bedingungen Konditionale Blocks werden mit xsl:if match spezifiziertKonditionale Blocks werden mit xsl:if match spezifiziert Die Bedingung wird mit einem XPath-Ausdruck angegebenDie Bedingung wird mit einem XPath-Ausdruck angegeben Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

56 Auswahl Eine Auswahl wird mit xsl:choose, xsl:when und xsl:otherwise spezifiziertEine Auswahl wird mit xsl:choose, xsl:when und xsl:otherwise spezifiziert Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

57 Sortieren <xsl:sortselect="name" data-type="text" data-type="text" order="ascending"> order="ascending"> xsl:sort muß Kind-Element von xsl:for-each seinxsl:sort muß Kind-Element von xsl:for-each sein Attibute: select, data-type, order, case-orderAttibute: select, data-type, order, case-order Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

58 "Sub"-Templates Hier folgt ein Rezept: Zutaten Hier folgt ein Rezept: Zutaten Anleitung Anleitung xsl:apply-templates wendet Templates an, die zum select- Ausdruck passen (hier: "zutaten")xsl:apply-templates wendet Templates an, die zum select- Ausdruck passen (hier: "zutaten") Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

59 XSL-Fazit Mächtige TransformationspracheMächtige Transformationsprache –XSLT gibt Regeln zur Transformation vor –XPath ist Sprache zum Spezifizieren von Pfaden durch XML-Dokumente –XML Formatting Objects ist ein Set von Namen zur Geräteunabhängigen Darstellung ProblemeProbleme –neues Programmierparadigma, Umlernen erforderlich –nur auf den ersten Blick einfach –gegenwärtige Implementierungen langsam Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive

60 XML-Perspektive Weiterentwicklung des InternetWeiterentwicklung des Internet –Neue W3C Standards setzten auf XML auf –Clientseitige Verarbeitung, insb. Layout –Individualisierung durch vielfältige Services E-Commerce: Handel mit InformationE-Commerce: Handel mit Information DatenaustauschDatenaustausch –zwischen relationalen/objektorientierten Datenbanken –als Ziel/Zwischenformat von Datenkonvertierungen Publishing im Web und in anderen MedienPublishing im Web und in anderen Medien Verwaltung von Dokumenten, SuchmaschinenVerwaltung von Dokumenten, Suchmaschinen –präzisere Anfragen –Anzeige von Dokumentteilen –Inhaltsverzeichnisse, Anzeige aller Bilder, etc. Einführung Motivation XML und HTML Anwendungen XML-Konzepte Unicode Dokumentaufbau Logische Struktur Basis-Kompon. Korrektheit DTD Weitere Kompon. Physische Struktur XML-Verarbeitung Erweiterungen XSL Template Rules Elemente Fazit Perspektive