Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


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

1 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 (www.w3schools.com/xml/default.asp) XML/XSL Tutorial der W3School (www.w3schools.com/xml/default.asp) W3C XML Activity (www.w3.org/XML) W3C XML Activity (www.w3.org/XML)

2 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 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 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 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 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 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 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 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 10 Layout 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 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 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 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 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 15 Ressourcen-Beschreibung XML kann als Datenformat zur Speicherung von Ressourcen-Beschreibungen verwendet werden. Creator xmlns:s="http://description.org/schema/"> Fritz Müller Fritz Müller 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 34 Eine DTD für Kochrezepte 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 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 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 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 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....... 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 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. 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 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 © 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 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 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 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 44 XML-Verarbeitung Application MM-Tool 1 MM-Tool 2 XML Processor

45 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 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 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 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 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 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 51 Wdh.: Eine DTD für Kochrezepte 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 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 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 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 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 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 57 Sortieren 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 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 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 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


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

Ähnliche Präsentationen


Google-Anzeigen