Kapitel 10: XML - PowerPoint PPT Presentation

About This Presentation
Title:

Kapitel 10: XML

Description:

Kapitel 10: XML – PowerPoint PPT presentation

Number of Views:72
Avg rating:3.0/5.0
Slides: 24
Provided by: Olive113
Category:
Tags: xml | kapitel | wacker

less

Transcript and Presenter's Notes

Title: Kapitel 10: XML


1
Kapitel 10XML
2
XML
  • 1969 GML Generalized Markup Language (Goldfarb/M
    osher/Lorie)
  • 1986 SGML Standardized Markup Language
  • 1989 WWW World Wide Web
  • 1992 HTML Hypertext Markup Language
  • 1998 XML eXtensible Markup Language

3
XML
  • ltTitelgtSelber Atmenlt/TitelgtltAutorgtWilli
    Wackerlt/Autorgt

4
XML Strukturierte Daten
ltBüchergt lt/Büchergt
  • ltTitelgtSelber Atmenlt/TitelgtltAutorgtWilli
    Wackerlt/Autorgt

ltTitelgtRichtig Streikenlt/TitelgtltAutorgtErika
Mustermannlt/Autorgt
ltTitelgtSchneller Betenlt/TitelgtltAutorgtDaniel
Düsentrieblt/Autorgt
5
XML Strukturierte Texte
Selber AtmenWilli Wacker 1. Einleitung In einer
Reihe von aufsehenerregenden Experimenten wurden
kürzlich am Max-Planck-Institut die Vorteile des
selbständigen Denkens herausgearbeitet. Unsere
Forschungen lassen erwarten, daß analoge Aussagen
auch für den Atmungsvorgang gelten könnten.
ltartikelgt ltKopfgt lt/Kopfgt ltRumpfgt
ltKapitelgt ltTitelgtEinleitunglt/Titelgt
ltAbsatzgt In einer Reihe von
aufsehenerregenden Experimenten wurden
kürzlich am ltbetontgtMax-Planck-Institutlt/betontgt
die Vorteile des selbständigen Denkens
herausgearbeitet. lt/Absatzgt ltAbsatzgt
Unsere Forschungen lassen erwarten, daß
analoge Aussagen auch für den
Atmungsvorgang gelten könnten. lt/Absatzgt
lt/Kapitelgt lt/Rumpfgt lt/artikelgt
  • ltTitelgtSelber Atmenlt/TitelgtltAutorgtWilli
    Wackerlt/Autorgt

6
Dateien
  • artikel.dtd Document Type Definition mit
    Strukturbeschreibung
  • artikel.xml XML-Datei mit den durch
    Tags markierten Daten.
  • artikel.xsl Stylesheet mit Angaben zum
    Rendern des Layout

7
artikel.dtd
  • lt?xml version"1.0" encoding"ISO-8859-1" ?gt
  • lt!ELEMENT artikel (Kopf,Rumpf)gt
  • lt!ELEMENT Kopf (Titel,Autor)gt
  • lt!ELEMENT Rumpf (Kapitel)gt
  • lt!ELEMENT Kapitel (Titel, Absatz)gt
  • lt!ELEMENT Titel (PCDATA)gt
  • lt!ELEMENT Autor (PCDATA)gt
  • lt!ELEMENT Absatz (PCDATAbetont)gt
  • lt!ELEMENT betont (PCDATA)gt

8
artikel.xml
  • lt?xml version'1.0' encoding"ISO-8859-1" ?gt
  • lt!DOCTYPE artikel SYSTEM "artikel.dtd" gt
  • ltartikelgt
  • ltKopfgt
  • ltTitelgtSelber Atmenlt/Titelgt
  • ltAutorgtWilli Wackerlt/Autorgt
  • lt/Kopfgt
  • ltRumpfgt
  • ltKapitelgt
  • ltTitelgtEinleitunglt/Titelgt
  • ltAbsatzgt
  • In einer Reihe von aufsehenerregenden
    Experimenten wurden kürzlich am
    ltbetontgtMax-Planck-Institutlt/betontgt die Vorteile
    des selbständigen Denkens
    herausgearbeitet.
  • lt/Absatzgt
  • ltAbsatzgt
  • Unsere Forschungen lassen erwarten, daß
    analoge Aussagen auch für den Atmungsvorgang
    gelten könnten.
  • lt/Absatzgt
  • lt/Kapitelgt
  • ltKapitelgt
  • ltTitelgtAusblicklt/Titelgt

Demo artikel.xml
9
artikel.xsl (Teil 1)
  • lt?xml version"1.0" encoding"ISO-8859-1"?gt
  • ltxslstylesheet version"1.0" xmlnsxsl"http//ww
    w.w3.org/1999/XSL/Transform"gt
  • ltxsltemplate match"artikel"gt
  • lthtmlgt
  • ltheadgtlttitlegtltxslvalue-of
    select"Titel"/gtlt/titlegtlt/headgt
  • ltbodygtltxslapply-templates/gtlt/bodygt
  • lt/htmlgt
  • lt/xsltemplategt
  • ltxsltemplate match"artikel/Kopf/Titel"gt
  • ltcentergtlth1gtltxslapply-templates/gtlt/h1gtlt/cente
    rgt
  • lt/xsltemplategt
  • ltxsltemplate match"artikel/Kopf/Autor"gt
  • ltcentergtlth4gtltxslapply-templates/gtlt/h4gtlt/cente
    rgt
  • lt/xsltemplategt

10
artikel.xsl (Teil 2)
  • ltxsltemplate match"artikel/Rumpf/Kapitel/Titel
    "gt
  • lth3gtltxslapply-templates/gtlt/h3gt
  • lt/xsltemplategt
  • ltxsltemplate match"Absatz"gt
  • ltpgtltxslapply-templates/gtlt/pgt
  • lt/xsltemplategt
  • ltxsltemplate match"betont"gt
  • ltIgtltxslapply-templates/gtlt/Igt
  • lt/xsltemplategt
  • lt/xslstylesheetgt

11
personen.dtd
  • lt?xml version'1.0' encoding"ISO-8859-1" ?gt
  • lt!ELEMENT personen (person)gt
  • lt!ELEMENT person (vorname,nachname,p
    hoto)gt
  • lt!ATTLIST person persnr ID REQUIREDgt
  • lt!ATTLIST person chef IDREF IMPLIEDgt
  • lt!ATTLIST person geschlecht (männlichweiblich)
    REQUIREDgt
  • lt!ELEMENT vorname (PCDATA)gt
  • lt!ELEMENT nachname (PCDATA)gt
  • lt!ELEMENT photo EMPTYgt
  • lt!ATTLIST photo src CDATA REQUIREDgt

12
personen.xml
  • lt?xml version'1.0' encoding'ISO-8859-1'?gt
  • lt!DOCTYPE personen SYSTEM "personen.dtd"gt
  • ltpersonengt
  • ltperson persnr"P4711" chef"P4712"
    geschlecht"weiblich" gt
  • ltvornamegtErikalt/vornamegt
  • ltnachnamegtMustermannlt/nachnamegt
  • ltphoto src"erika.gif"/gt
  • lt/persongt
  • ltperson persnr"P4712" geschlecht"männlich"gt
  • ltvornamegtWillilt/vornamegt
  • ltnachnamegtWackerlt/nachnamegt
  • ltphoto src"willi.gif"/gt
  • lt/persongt
  • lt/personengt

13
dozenten.dtd
  • lt?xml version'1.0' encoding"ISO-8859-1" ?gt
  • lt!ELEMENT dozenten (dozent)gt
  • lt!ELEMENT dozent (PersNr,Name,Rang,Raum,Amt)
    gt
  • lt!ELEMENT PersNr (PCDATA)gt
  • lt!ELEMENT Name (PCDATA)gt
  • lt!ELEMENT Rang (PCDATA)gt
  • lt!ELEMENT Raum (PCDATA)gt
  • lt!ELEMENT Amt (Bezeichnung,Termin?)gt
  • lt!ELEMENT Bezeichnung (PCDATA)gt
  • lt!ELEMENT Termin (PCDATA)gt

14
dozenten.xml (Teil 1)
  • lt?xml version'1.0' encoding"ISO-8859-1" ?gt
  • lt!DOCTYPE dozenten SYSTEM "dozenten.dtd" gt
  • ltdozentengt
  • ltdozentgt
  • ltPersNrgt2125lt/PersNrgt
  • ltNamegtSokrateslt/Namegt
  • ltRanggtC4lt/Ranggt
  • ltRaumgt226lt/Raumgt
  • ltAmtgt
  • ltBezeichnunggtDekanlt/Bezeichnunggt
  • ltTermingtvormittagslt/Termingt
  • lt/Amtgt
  • lt/dozentgt
  • ltdozentgt
  • ltPersNrgt2126lt/PersNrgt
  • ltNamegtRussellt/Namegt
  • ltRanggtC4lt/Ranggt
  • ltRaumgt232lt/Raumgt
  • lt/dozentgt

15
dozenten.xml (Teil2)
  • ltdozentgt
  • ltPersNrgt2127lt/PersNrgt
  • ltNamegtKopernikuslt/Namegt
  • ltRanggtC3lt/Ranggt
  • ltRaumgt310lt/Raumgt
  • ltAmtgt
  • ltBezeichnunggtWeltraumbeauftragerlt/Bezeichnun
    ggt
  • lt/Amtgt
  • ltAmtgt
  • ltBezeichnunggtStudienberaterlt/Bezeichnunggt
  • ltTermingtdonnerstags 10-12 Uhrlt/Termingt
  • lt/Amtgt
  • lt/dozentgt
  • ...
  • lt/dozentengt

16
XML-Baum
17
XQuery
  • FLWR-Ausdruck (FOR,LET,WHERE,RETURN)
  • Pfadausdruck in XPath
  • Element-Konstruktoren

18
XQuery (FLWR)
  • Liste alle Dozenten, die mindestens eine
    Vorlesung halten
  • ltaktive-Dozentengt
  • FOR d IN document("dozenten.xml")//dozent
  • LET v document("vorlesungen.xml")
  • //vorlesunggelesenVon
    d/PersNr
  • WHERE count(v) gt 0
  • RETURN ltDozentgtd/Namelt/Dozentgt
  • lt/aktive-Dozentengt

19
Xquery (Join)
  • Liste alle Dozenten mit ihren Lehrveranstaltungen
  • ltVorlesungsverzeichnisgt
  • FOR d IN document("dozenten.xml")//dozent,
  • v IN document("vorlesungen.xml")//vorlesung
  • WHERE d/PersNr v/gelesenVon
  • RETURN ltVeranstaltunggtd/Name,
    v/Titellt/Veranstaltunggt
  • lt/Vorlesungsverzeichnisgt

20
XQuery
  • Liste zu jedem Dozenten seine Lehrveranstaltungen
  • ltVorlesungsverzeichnisgt
  • FOR d IN document("dozenten.xml")//dozent
  • RETURN
  • ltDozentgtd/Namelt/Dozentgt
  • FOR v IN document("vorlesungen.xml")//vorlesu
    ng
  • WHERE d/PersNr v/gelesenVon
  • RETURN ltVorlesunggtv/Titellt/Vorlesunggt
  • lt/Vorlesungsverzeichnisgt

21
XQuery (Aggregate Function)
  • Liste zu jedem Dozenten die Summe der
    Semesterwochenstunden seiner Lehrveranstaltungen
  • ltDozentengt
  • FOR d IN document("dozenten.xml")//dozent
  • LET s sum(document("vorlesungen.xml")
  • //vorlesunggelesenVond/P
    ersNr/SWS)
  • WHERE s gt 0
  • RETURN ltDozentgt
  • ltNamegtd/Namelt/Namegt
  • ltLehrbelastunggtslt/Lehrbelastunggt
  • lt/Dozentgt
  • lt/Dozentengt

22
XQuery (Self Join)
  • Liste alle Dozenten mit demselben Rang wie
    Sokrates
  • ltRang-wie-Sokratesgt
  • FOR d1 IN document("dozenten.xml")//dozentName
    "Sokrates",
  • d2 IN document("dozenten.xml")//dozentRang
    d1/Rang
  • RETURN ltNamegtd2/Namelt/Namegt
  • lt/Rang-wie-Sokratesgt

23
Apache Xindice
  • XML-Datenbank
  • http//xml.apache.org/xindice/
Write a Comment
User Comments (0)
About PowerShow.com