1 / 60

XML

XML. eXtensible Markup Language Metasprache zur Definition von Markupsprachen Beschreibt die Struktur des Dokuments Beschreibt die Semantik der Elemente eines Dokuments Auszeichnungen („Markups“) in Form von Tags. XML, HTML und SGML.

Download Presentation

XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML • eXtensible Markup Language • Metasprache zur Definition von Markupsprachen • Beschreibt die Struktur des Dokuments • Beschreibt die Semantik der Elemente eines Dokuments • Auszeichnungen („Markups“) in Form von Tags

  2. XML, HTML und SGML • 60er Jahre: IBM Standards, Bemühungen um standardisierte Beschreibungssprache • 1969: GML von IBM entwickelt • 1986: SGML wird als ISO-Standard 8879 eingeführt mächtige und komplexe Beschreibungssprache • 1989: HTML von Tim Bernes-Lee entwickelt • 90er Jahre: einfache und schnell erlernbare Beschreibungssprache für Websites  HTML • 1994: HTML (2.0) als Standard von W3C festgelegt • 1998: XML (1.0) von W3C eingeführt vereinfachtes SGML (20% der Komplexität, 80% der Funktionalität)

  3. Metasprachen SGML XML [Metasprachen] [Markup Sprachen] [Dokumente] MathML, XHTML, HTML, ... x ƒ(x) = ∏ (2n+1) n=1

  4. Markup Language Beschreibt Layout <h1> Video </h1> <h2> The Great Escape </h2> <table border=“1“><tr> <td>Director</td> <td>John Sturges</td></tr><tr> <td>Hauptdarsteller</td> <td>Steve McQueen</td></tr><tr> <td> ... </td> </tr> </table> Metasprache für Markup Language Beschreibt Inhalt und Struktur <video> <title> The Great Escape </title><cast> <director>John Sturges</director> <actor>Steve McQueen </actor></cast><text> A classic war movie from 1956 </text> </video> HTML vs XML

  5. Motivation von XML • Erstellen eigener Dokumenttypen • Keine beschränkte Anzahl von Tags • Breites Spektrum von Anwendungsbereichen • XML-verarbeitende Anwendungen können einfach entwickelt werden • Trennung von Layout und Inhalt • XML-Dokument: Fokus liegt in der Struktur des Dokuments und in der Semantik der Elemente • XML soll sich im Internet auf einfache Weise nutzen lassen • XML-Dokumente sollen auch für Menschen lesbar und verständlich sein

  6. Überblick • XML Dokumentlogische und physische Strukturenthält Dekarationen, Elemente, Kommentare, ... • DTD (Document Type Definition)logische Struktur des DokumentsDefinition der Elemente, Attribute, ... eines XML-Dokuments • Style SheetsVisualisierung des XML-Dokuments, Formatieren von Markups CSS, DSSSL, XSL

  7. XML – DokumentElemente Elemente sind die „Bausteine“ des XML-Dokuments. Syntax: Starttag Elementinhalt Endtag z.B.: <actor>Steve McQueen</actor> • Elemente mit gleichem Start- und Endtag gehören zu einem Elementtyp • Dokumente welche dieselben Elementtypen enthalten, gehören zum selben DokumenttypLeere Elemente • <actor></actor> • <actor/>

  8. XML-DokumentVerschachtelung von Elementen Ein Element kann andere Elemente enthalten: <video> <title> The Great Escape </title> <cast> <director> John Sturges </director> <actor>Steve McQueen </actor> <actor/> <!-- wer spielt den amerikanischen Offizier ???--> </cast> <text> A classic war movie from 1956 </text> <screenshot/> </video>

  9. XML-DokumentKommentare • Syntax: • <!-- irgendein Kommentar--> • Kommentare... • können sich über mehrere Zeilen erstrecken • können sich zwischen Start- und Endtags von Elementen befinden z.B.: <actor>Steve McQueen <!--richtiger Kommentar--> </actor> • dürfen nicht innerhalb eines Tags stehen z.B.: <actor <!--völlig falsch--> > Steve McQueen </actor> • dürfen keine „--“ enthalten

  10. XML-DokumentAttribute • Attribute sind zusätzliche Informationen zu Elementen: • <actor geschlecht=m> Steve McQueen </actor><screenshot imgage="picture.jpg" heigth="12" width="150"/> • Attributname Attributwert • Besonderheiten bei Attributen: • Die Reihenfolge der Attribute ist unbestimmt • In einem Element darf ein Attributname nicht mehrmals vorkommen • Ein Attributwert darf keinen Verweis auf ein externes Entity enthalten • In einem Attributwert darf kein „<“ vorkommen

  11. XML-DokumentStruktur des XML-Dokuments Prolog Enthält Informationen zur Verarbeitung des Dokuments: - Dekaration der XML Version - Dekaration DTD Wurzelelement Jedes XML-Dokument enthält genau ein Wurzelelement Ein Wurzelelement kann beliebig viele Elemente enthalten

  12. XML-DokumentEigenschaften • Wohlgeformtheit • XML-Dokument enthält ein oder mehrere Elemente • Genau ein Element ist Wurzelelement • Korrekte Verschachtelung der TagsKorrekte Verschachtelung: <b><c> xyz </c> abc </b> Falsche Verschachtelung: <b><c> xyz </b> abc </c> • Jedes analysierte Entity ist wiederum wohlgeformt • .... • Gültigkeit • XML-Dokument ist wohlgeformt • XML-Dokument entspricht den Spezifikationen einer DTD

  13. XML-DokumentBeispiel <?xml version="1.0"?><!DOCTYPE buch SYSTEM „bibliothek.dtd"> <bibliothek> <buch genre="Fantasy" isbn="3-608-95855-X"> <titel>Der Herr der Ringe</titel> <autor geschlecht="m">J.R.R. Tolkien</autor> <inhalt>viel Text</inhalt> </buch> <buch genre="Sachbuch" isbn="3-8273-1330-9"> <titel>XML in der Praxis</titel> <autor geschlecht="m">Behme, Mintert</autor> <inhalt>Inhalt</inhalt> </buch></bibliothek>

  14. dokument bibliothek genre buch buch autor inhalt titel genre text text text text text text fantasy sachbuch geschlecht m JRR Tolkien Herr der Ringe Viel Text XML-DokumentBaumstruktur

  15. Sichten auf XML • Dokumentensicht • XML-Dokumente sind kommentierte Textdateien • XMath, CML,... • Datensicht • XML als Speicherformat • Repräsentationsform für komplexe Datentypen • XQL (XML Query Language) • Nachrichtensicht • XML als Nachrichtenprotokoll • XML-Dokument als flüchtige Nachricht, nicht als dauerhafte Ressource • SOAP

  16. Überblick • XML Dokumentlogische und physische Strukturenthält Dekarationen, Elemente, Kommentare, ... • DTD (Document Type Definition)logische Struktur des DokumentsDefinition der Elemente, Attribute, ... eines XML-Dokuments • Style SheetsVisualisierung des XML-Dokuments, Formatieren von Markups CSS, DSSSL, XSL

  17. DTD • welche Elementtypen es gibt • welchen Inhalt sie haben dürfen • welche Attribute erlaubt sind • welche Werte sie annehmen dürfen sie enthält die Informationen darüber

  18. DTDDeklaration Interne Deklaration <!DOCTYPE Name [ Definitionen ]> Beispiel <?xml version=„1.0“ encoding=„ISO-8859-1“?> <!DOCTYPE Buch[ <!ELEMENT Buch (Titel, Autor+)> <!ELEMENT Titel (#PCDATA)> <!ELEMENT Autor (#PCDATA)> ]>

  19. DTDDeklaration Externe Deklaration <!DOCTYPE Name SYSTEM “Pfadangabe“> Beispiel: <?xml version=„1.0“ encoding=„ISO-8859-1“?> <!DOCTYPE Buch SYSTEM “aufbau.dtd“> <Buch> ... </Buch>

  20. DTDDeklaration • intern und externe DTD-Untermenge • <!DOCTYPE Name SYSTEM “Pfadangabe“[ • interne Definitionen • ]> • Beispiel • <?xml version=„1.0“ encoding=„ISO-8859-1“?> • <!DOCTYPE Buch SYSTEM “aufbau.dtd“ [ • <!ELEMENT Anhang (#PCDATA)> • ]>

  21. DTDElementdefinition <!ELEMENT Elementname (Inhaltsmodell)> • Elementinhalt <!ELEMENT Buch (Kapitel)> • Sequenz <!ELEMENT Kapitel (Einleitung, Inhalt)> • Alternative <!ELEMENT Inhalt (Text | Grafik)>

  22. DTDElementdefinition Schlüsselwörter • Leeres Element <!ELEMENT Autor EMPTY> • Element mit beliebigem Inhalt <!ELEMENT Kommentar ANY> #PCDATA-Element<!ELEMENT Text (#PCDATA)>

  23. DTDBeispiel zum Inhaltsmodell <?xml version=„1.0“ encoding=„ISO-8859-1“?> <!DOCTYPE Buch[ <!ELEMENT Buch (Titel, Autor, (Kategorie | Preis)> <!ELEMENT Titel (#PCDATA)> <!ELEMENT Autor (#PCDATA)> <!ELEMENT Kategorie (#PCDATA)> <!ELEMENT Preis (#PCDATA)> ]> <Buch> <Titel> Das große Buch XML</Titel> <Autor> Elke Niedermaier</Autor> <Kategorie>Sachbuch</Kategorie><7Buch> <Buch> <Titel> Das große Buch XML</Titel> <Autor> Elke Niedermaier</Autor> <Preis>251</Preis><7Buch>

  24. DTDElementdefinition • Optional (?) <!ELEMENT Anhang (Referenz?)> • Optional und mehrmals (*) <!ELEMENT Anhang (Referenz*)> • Einmal und öfter (+) <!ELEMENT Anhang (Kommentar, Referenz+) Kardinalitäten

  25. Beispiel Kardinalitäten <?xml version=„1.0“ encoding=„ISO-8859-1“?> <!DOCTYPE Buch[ <!ELEMENT Buch (Titel, Autor+, Kategorie?)> <!ELEMENT Titel (#PCDATA)> <!ELEMENT Autor (#PCDATA)> <!ELEMENT Kategorie (#PCDATA)> ]> <Buch> <Titel> Das große Buch XML</Titel> <Autor> Elke Niedermaier</Autor> <Autor> Michael Niedermair</Autor> <Kategorie>Sachbuch</Kategorie> </Buch>

  26. DTDAttributdefinition • Verpflichtendes Attribut: #REQUIRED • Implizites Attribut: #IMPLIED • Fixer Attributwert: #FIXED “wert“ • Defaultwert setzen: “wert“ <!ATTLIST Elementname Attributname Typ Einschränkung Attributname Typ Einschränkung...> Einschränkungen:

  27. DTDAttributdefinition • Zeichenkettentyp (CDATA) <!ATTLIST Autor name CDATA #REQUIRED> • Aufzählungstyp <!ATTLIST Farbe (weiss | blau | grün) “weiss“> • Token-Attribute ID, IDREF, NMTOKEN, NMTOKENS, ENTITY, ENTITIES, NOTATION

  28. DTDAttributdefinition - Beispiel <!ELEMENT Artikel (Bezeichnung, Bild)> <!ELEMENT Bezeichnung (#PCDATA)><!ATTLIST id ID #REQUIRED><!ELEMENT Bild EMPTY><!ATTLIST scr CDATA #REQUIRED höhe CDATA #IMPLIED breite CDATA #IMPLIED ><?XML version=“1.0“ encoding=“ISO-8859-1“?><DOCTYPE Firma SYSTEM “artikel.dtd“><Artikel> <Bezeichnung id=5>CD-Rohling</Bezeichnung> <Bild scr=“rohling.jpg“></Bild><Artikel>

  29. DTDEntities • Interne allgemeine Entities • Externe allgemeine Entities • Interne Parameter-Entities • Externe Parameter-Entities Arten von Entities

  30. DTDEntities • Allgemeine Entities:fügen Daten in den Dokumenteninhalt ein • Parameter Entities:fügen Deklarationen in die DTD des Dokuments ein Unterscheidung

  31. DTDEntities • Teile lassen sich extern abspeichern • Übersichtlichere Gestaltung • Verwendung der Teile in verschiedenen Dokumenten Vorteile von Entities

  32. DTDEntities Allgemeine Entities • Interne allgemeine Entities: • Verwendet man für Abkürzungen häufig verwendeter oder schwer einzubindender Texte. • Deklaration: <!ENTITY name “ersetzender Text“> • Aufruf im Text: &name;

  33. DTDEntities Allgemeine Entities • Externe allgemeine Entities: • Zum Einfügen von unabhängigen Teilen in das XML-Dokument. • Deklaration: <!ENTITY name SYSTEM “URI“> • Aufruf im Text: &name;

  34. DTDEntities Parameter-Entities • Interne Parameter-Entities: • Abkürzungen für häufig verwendete Definitionen. • Deklaration: <!ENTITY % name “ersetzender Text“> • Einfügen: %name;

  35. DTDEntities Parameter-Entities • Externe Parameter-Entities: • Geeignet um umfangreiche DTDs in Module zu zerlegen. Das erhöht die Lesbarkeit und Wartbarkeit. • Deklaration: <!ENTITY % name SYSTEM “URI“> • Einfügen: %name;

  36. DTDEntities - Beispiel <!ENTITY % Struktur “(Abteilungsleiter, Stellvertreter+, Mitarbeiter)“><!ELEMENT Firma (Buchhaltung, Lager*, Vertrieb?)> <!ELEMENT Buchhaltung %Struktur><!ELEMENT Lager %Struktur><!ELEMENT Vertrieb %Struktur><!ELEMENT Abteilungsleiter (#PCDATA)><!ELEMENT Stellvertreter (#PCDATA)><!ELEMENT Mitarbeiter (#PCDATA)><?XML version=“1.0“ encoding=“ISO-8859-1“?><DOCTYPE Firma SYSTEM “firma.dtd“><Firma> <Buchhaltung> <Abteilungsleiter> Sven Regener </Abteilungsleiter> <Stellvertreter> Martin Zehentner </Stellvertreter> <Mitarbeiter> die Abteilung hat 5 Mitarbeiter</Mitarbeiter> </Buchhaltung><Firma>

  37. Beispiel: DTD und DokumentDTD Dokument <!ELEMENT bibliothek (buch)+><!ELEMENT buch (titel, autor, inhalt)><!ATTLIST buch genre (Sachbuch | Roman | Fantasy) "Sachbuch" verlag CDATA #FIXED "meinVerlag" isbn ID #REQUIRED neuauflageVon IDREF "null"><!ELEMENT titel (#PCDATA)><!ELEMENT autor (#PCDATA)><!ATTLIST autor geschlecht (m | w) #REQUIRED><!ELEMENT inhalt (#PCDATA)> <?xml version="1.0"?><!DOCTYPE buch SYSTEM „bibliothek.dtd"> <bibliothek> <buch genre="Fantasy" isbn="3-608-95855-X"> <titel>Der Herr der Ringe</titel> <autor geschlecht="m">J.R.R. Tolkien</autor> <inhalt>viel Text</inhalt> </buch> <buch genre="Sachbuch" isbn="3-8273-1330-9"> <titel>XML in der Praxis</titel> <autor geschlecht="m">Behme, Mintert</autor> <inhalt>Inhalt</inhalt> </buch></bibliothek>

  38. Überblick • XML Dokumentlogische und physische Strukturenthält Dekarationen, Elemente, Kommentare, ... • DTD (Document Type Definition)logische Struktur des DokumentsDefinition der Elemente, Attribute, ... eines XML-Dokuments • Style SheetsVisualisierung des XML-Dokuments, Formatieren von Markups CSS, DSSSL, XSL

  39. XML und Style-Sheets Erklärung, CSS, DSSSL, XSLXML und XSL in der Praxis

  40. Style-Sheet – Was? • Darstellungsbeschreibung • eine Style für beliebig viele Dokumente • für ein Dokument beliebig viele Styles • Trennung von semantischer und physischer Auszeichnung • CSS, DSSSL, XSL

  41. XML-Dok Style-Sheet versch. Styles für 1 Dok. *.html Style-Sheet *.pdf Style-Sheet *.wml Style-Sheet *.rtf

  42. XML-Dok Style-Sheet einheitlicher Style XML-Dok XML-Dok XML-Dok

  43. CSS, DSSSL und XSL DSSSL XSL CSS

  44. CSS unter XML • Bei Einführung von XML • Kompatibel mit XSL • Eingeschränkte Möglichkeiten • Kann verschachtelt werden • CSS2 auf XML abgestimmt

  45. CSS – Deklaration 1 CSS innerhalb einer HTML Datei <html> <head> <title>Titel der Datei</title> <style type="text/css"> <!-- /* ... Style-Sheet-Angaben ... */ //--> </style> </head> <body></body> </html>

  46. CSS – Deklaration 2 • CSS in einer separaten Datei<html><head><title>Titel der Datei</title><link rel=stylesheet type="text/css" href="formate.css"></head><body></body></html>

  47. Bsp. Schriftformatierung <style type="text/css">h1,h2,h3 { font-familiy:Avantgarde,Arial }</style> <h1>Überschrift 1</h1><br> <h2>Überschrift 2</h2><br> <h3>Überschrift 3</h3><br> Überschrift 1 Überschrift 2 Überschrift 3

  48. Formatierung von Links 1 a.menu { font-family: "Times New Roman“}a.menu:link { color: #000000} a.menu:visited { color: #FF3333} a.menu:active { color: #3333FF} a.menu:hover { color: #009999}

  49. Formatierung von Links 2 • Zuweisung eines Styles<a href=„home.htm“ class=„menu“>home</a>Ausgabe im Browser:home Standard Link homebesuchter Linkhomeaktiver LinkhomeMouse-over Link

  50. DSSSL • Seit 1996 • DSSSL ist eine echte Programmiersprache • Zu kompliziert • XSL basiert auf einer Untermenge des DSSSL Standards, aber geringere Komplexität

More Related