Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XML eXtensible Markup Language

Ähnliche Präsentationen


Präsentation zum Thema: "XML eXtensible Markup Language"—  Präsentation transkript:

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 HTML vs XML 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>

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 Dokument logische und physische Struktur enthält Dekarationen, Elemente, Kommentare, ... DTD (Document Type Definition) logische Struktur des Dokuments Definition der Elemente, Attribute, ... eines XML-Dokuments Style Sheets Visualisierung des XML-Dokuments, Formatieren von Markups CSS, DSSSL, XSL

7 XML – Dokument Elemente
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 Dokumenttyp Leere Elemente <actor></actor> <actor/>

8 XML-Dokument Verschachtelung 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-Dokument Kommentare
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-Dokument Attribute
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-Dokument Struktur 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-Dokument Eigenschaften
Wohlgeformtheit XML-Dokument enthält ein oder mehrere Elemente Genau ein Element ist Wurzelelement Korrekte Verschachtelung der Tags Korrekte 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-Dokument Beispiel
<?xml version="1.0"?> <!DOCTYPE buch SYSTEM „bibliothek.dtd"> <bibliothek> <buch genre="Fantasy" isbn=" X"> <titel>Der Herr der Ringe</titel> <autor geschlecht="m">J.R.R. Tolkien</autor> <inhalt>viel Text</inhalt> </buch> <buch genre="Sachbuch" isbn=" "> <titel>XML in der Praxis</titel> <autor geschlecht="m">Behme, Mintert</autor> <inhalt>Inhalt</inhalt> </buch> </bibliothek>

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

15 Sichten auf XML Dokumentensicht Datensicht Nachrichtensicht
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 Dokument logische und physische Struktur enthält Dekarationen, Elemente, Kommentare, ... DTD (Document Type Definition) logische Struktur des Dokuments Definition der Elemente, Attribute, ... eines XML-Dokuments Style Sheets Visualisierung des XML-Dokuments, Formatieren von Markups CSS, DSSSL, XSL

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

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

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

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

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

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

23 DTD Beispiel zum Inhaltsmodell
<?xml version=„1.0“ encoding=„ISO “?> <!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 DTD Elementdefinition
Kardinalitäten Optional (?) <!ELEMENT Anhang (Referenz?)> Optional und mehrmals (*) <!ELEMENT Anhang (Referenz*)> Einmal und öfter (+) <!ELEMENT Anhang (Kommentar, Referenz+)

25 Beispiel Kardinalitäten
<?xml version=„1.0“ encoding=„ISO “?> <!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 DTD Attributdefinition
<!ATTLIST Elementname Attributname Typ Einschränkung Attributname Typ Einschränkung...> Einschränkungen: Verpflichtendes Attribut: #REQUIRED Implizites Attribut: #IMPLIED Fixer Attributwert: #FIXED “wert“ Defaultwert setzen: “wert“

27 DTD Attributdefinition
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 DTD Attributdefinition - 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 “?> <DOCTYPE Firma SYSTEM “artikel.dtd“> <Artikel> <Bezeichnung id=5>CD-Rohling</Bezeichnung> <Bild scr=“rohling.jpg“></Bild> <Artikel>

29 DTD Entities Arten von Entities Interne allgemeine Entities
Externe allgemeine Entities Interne Parameter-Entities Externe Parameter-Entities

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

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

32 DTD Entities 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 DTD Entities 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 DTD Entities Parameter-Entities Interne Parameter-Entities:
Abkürzungen für häufig verwendete Definitionen. Deklaration: <!ENTITY % name “ersetzender Text“> Einfügen: %name;

35 DTD Entities 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 DTD Entities - 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 “?> <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 Dokument DTD 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=" X"> <titel>Der Herr der Ringe</titel> <autor geschlecht="m">J.R.R. Tolkien</autor> <inhalt>viel Text</inhalt> </buch> <buch genre="Sachbuch" isbn=" "> <titel>XML in der Praxis</titel> <autor geschlecht="m">Behme, Mintert</autor> <inhalt>Inhalt</inhalt> </buch> </bibliothek>

38 Überblick XML Dokument logische und physische Struktur enthält Dekarationen, Elemente, Kommentare, ... DTD (Document Type Definition) logische Struktur des Dokuments Definition der Elemente, Attribute, ... eines XML-Dokuments Style Sheets Visualisierung des XML-Dokuments, Formatieren von Markups CSS, DSSSL, XSL

39 Erklärung, CSS, DSSSL, XSL XML und XSL in der Praxis
XML und Style-Sheets Erklärung, CSS, DSSSL, XSL XML 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 versch. Styles für 1 Dok. *.html *.pdf *.wml *.rtf Style-Sheet
XML-Dok Style-Sheet *.wml Style-Sheet *.rtf

42 einheitlicher Style XML-Dok XML-Dok Style-Sheet 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 home besuchter Link home aktiver Link home Mouse-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

51 Anforderungskatalog (W3C)
XSL soll in der bekannten XML-Syntax erstellt werden können. XSL soll eine Auszeichnungssprache sein, die alle wichtigen und gebräuchlichen Formatierungsbefehle enthält. Die Anzahl der optionalen Features soll möglichst gering gehalten werden. XSL Stylesheets sollen möglichst leicht verständlich und »lesbar« sein. Die Umsetzung soll schnell und unkompliziert geschehen können. XSL sollte sich über das Internet einfach nutzen lassen. XSL sollte einen »Ausweg« in eine Skript-Sprache bieten, für komplexere Formatierungen und um Erweiterbarkeit und Vollständigkeit möglich zu machen. XSL wird eine Untermenge von DSSSL mit der vorgeschlagenen Ergänzung sein.

52 XML und XSL in der Praxis
Deklarationen, Datenstruktur in XML, Aufbau einer XSL-Datei

53 Deklarationen in XML Deklarieren einer XML-Datei
<?xml version="1.0" encoding="ISO " standalone="yes"?> Deklarieren des Style-Sheets <?xml-stylesheet href="style.xsl" type="text/xsl"?>

54 Entwerfen der Struktur
Umsetzen in XML <?xml version="1.0" encoding="ISO "?> <?xml-stylesheet href="selfxml.xsl" type="text/xsl" ?> <Mitglieder>      <Mitglied Id="1">        </Mitglied>      <Mitglied Id="2">        </Mitglied> </Mitglieder>

55 Ausbau der Datei <?xml version="1.0" encoding="ISO "?> <?xml-stylesheet href="selfxml.xsl" type="text/xsl" ?> <Mitglieder>      <Mitglied Id="1">            <Vorname> Thomas </Vorname>            <Nachname> Maier </Nachname>            <Strasse> Hauptstrasse 12 </Strasse>            <PLZ> </PLZ>            <Stadt> Stuttgart </Stadt>        </Mitglied>      <Mitglied Id="2">            <Vorname> Michael </Vorname>            <Nachname> Schneider </Nachname>            <Strasse> Bahnhofsstrasse 21 </Strasse>            <PLZ> </PLZ>            <Stadt> Stuttgart </Stadt>        </Mitglied> </Mitglieder>

56 Aufbau der XSL-Datei Deklarationskopf Root-Element der XSL-Datei
<xsl:stylesheet xmlns:xsl=" Root-Element der XSL-Datei <xsl:stylesheet xmlns:xsl="      <xsl:template match="/">         <HTML>           <Head>             <Title> Testseite </Title>           </Head>           <Body>             <H1> Ein Test </H1>           </Body>         </HTML>      </xsl:template> </xsl:stylesheet>

57 Einbau von XML-Daten Ausgabe eines Elements
<xsl:stylesheet xmlns:xsl="      <xsl:template match="/">         <HTML>           <Head>            <Title> <xsl:value-of select="Mitglieder/Verein"/> </Title>           </Head>           <Body>             <H1> Ein Test </H1>           </Body>         </HTML>      </xsl:template> </xsl:stylesheet>

58 Verwendung von Schleifen
<xsl:stylesheet xmlns:xsl="      <xsl:template match="/">         <HTML>           <Head>             <Title> <xsl:value-of select="Mitglieder/Verein"/> </Title>           </Head>           <Body>             <H1> Ein Test </H1>               <table border="1">                 <xsl:for-each select="Mitglieder/Mitglied">                   <tr>                     <td> <xsl:value-of select="Nachname"/> </td>                     <td> <xsl:value-of select="Vorname"/> </td>                   </tr>                 </xsl:for-each>               </table>           </Body>         </HTML>      </xsl:template> </xsl:stylesheet>

59 Formatierungsmöglichkeiten
<xsl:stylesheet xmlns:xsl="      <xsl:template match="/">         <HTML>           <Head>             <Title> <xsl:value-of select="Mitglieder/Verein"/> </Title>           </Head>           <Body>             <H1> Ein Test </H1>               <table border="1">                 <xsl:for-each select="Mitglieder/Mitglied" order- by="Nachname;Vorname"> <tr>                     <td> <xsl:value-of select="Nachname"/> </td>                     <td> <xsl:value-of select="Vorname"/> </td>                   </tr>                 </xsl:for-each>               </table>           </Body>         </HTML>      </xsl:template> </xsl:stylesheet>

60 XML -Ausblick Was bringt die Zukunft?
Datenaustausch (Wetterdaten, Krankendaten, finanz. Transaktionen,...) Darstellung von Formeln, Hierachien (Definitionen mit DTD) Formatierung nur mehr mit Stylesheets


Herunterladen ppt "XML eXtensible Markup Language"

Ähnliche Präsentationen


Google-Anzeigen