ims universität stuttgart 1 einführung in xml hannah kermes hs: elektronische wörterbücher do,...

42
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

Upload: eilert-wendelken

Post on 05-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

1

Einführung in XML

Hannah Kermes

HS: Elektronische Wörterbücher

Do, 18.11.2004

Page 2: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

2

Daten

Kodierung Austausch Abfragen Beispiel: Wetter

Page 3: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

3

XML

eXtensible Markup Language

(erweiterbare Auszeichnungssprache) 1998 in Version 1.0 von der W3C als

Standard verabschiedet echte Teilmenge von SGML

- striktere Einhaltung der Syntax

Grundidee:- Trennung von Inhalt und Struktur

Page 4: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

4

XML

inhaltliche Bausteine:- Elemente- Attribute

formale Bausteine:- syntaktische Festlegung auf die Notation

der inhaltlichen Bausteine

genau ein Wurzelement

Page 5: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

5

Entwurfsentscheidung

Elemente- Information läßt sich in weitere Informationen

untergliedern

Attribute- Information kann nicht weiter zerlegt werden- Information ist aufzählbar

Dokumentinhalt- Information kann nicht weiter zerlegt werden- Information ist nicht aufzählbar

Page 6: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

6

Struktur des XML-Dokuments

<wetter>

</wetter>

<tag wochentag="Mo" tag="1" monat="4" jahr="2002">

</tag>

<messung stadt="Frankfurt">

</messung>

<temperatur morgens="3" mittags="18" abends="16" nachts="7"/>

Page 7: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

7

Inhalt, Metadaten, Markup

<wetter>

</wetter>

<tag wochentag="Mo" tag="1" monat="4" jahr="2002">

</tag>

<messung stadt="Frankfurt">

</messung>

<temperatur morgens="3" mittags="18" abends="16" nachts="7"/>

Page 8: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

8

Wohlgeformtes XML

Header eines XML-Dokuments<?xml version="1.0"

encoding="iso-8859-1"

standalone="yes"?>

XML-Dokument ist wohlgeformt, wenn es der XML-Syntax folgt.

Page 9: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

9

Validierung von XML

Warum validieren?- Konsistenz- Datenaustausch

Wie validieren?- DTD- XML Schema

XML-Dokument ist valide, wenn es der DTD bzw. dem Schema genügt.

Page 10: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

10

DTD (Dokumententypdefinition)

enthält die Bezeichner aller Elemente und Attribute

Reihenfolge des Auftretens von Elementen Wertebereiche ihrer Attribute Kardinalität der Elemente (wie oft kommen

sie vor)

Page 11: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

11

DTD für Wetterdaten (1)

<wetter>

</wetter>

<tag wochentag="Mo" tag="1" monat="4" jahr="2002"> ...

</tag>

<!ELEMENT wetter (tag+)>

Page 12: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

12

DTD für Wetterdaten (2)

<tag wochentag="Mo" tag="1" monat="4" jahr="2002">

</tag>

<messung stadt="Frankfurt"> ...</messung>

<!ELEMENT tag (messung+)>

<!ATTLIST tag monat CDATA #REQUIRED

jahr CDATA #REQUIRED>

Page 13: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

13

DTD für Wetterdaten (3)

<messung stadt="Frankfurt">

</messung>

<!ELEMENT messung (temperatur)>

<!ATTLIST messung stadt CDATA #REQUIRED>

<!ELEMENT temperatur EMPTY>

<temperatur morgens="3" mittags="18" abends="16" nachts="7"/>

Page 14: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

14

Einbinden der DTD

Dokumenttyp-Deklaration:

<?xml version="1.0" encoding="iso-8859-1" standalone="no"?><!DOCTYPE wetter SYSTEM "wetter.dtd"><wetter>...

Page 15: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

15

DTD versus Schemata

Schemata sind wesentlich ausdruckstärker als DTDs

Schemata sind selbst XML-Dateien Möglichkeit zur Definition von Typen

- simple type: - Basistypen wie Integer oder String- eingeschränkte Basistypen

- complex type:- aus Basistypen zusammengesetzte Typen

- explizit durch separates Typ Element- anonym (nur an dieser Stelle gültig)

Page 16: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

16

Ein XML Schema (1)

<element name="wetter">

<complexType>

<sequence>

<element name="tag" type="tagType"

minOccurs="1"

maxOccurs="unbounded"/>

</sequence>

</complexType>

</element>

Page 17: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

17

Ein XML Schema (2)

<attribute name="tag">

<simpleType>

<restriction base="xsd:integer">

<minInclusive value="1"/>

<maxInclusive value="31"/>

</restriction>

</simpleType>

</attribute>

Page 18: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

18

Einbinden des Schema

Attribut des Wurzelelements:

<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>

<wetter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="wetter.xsd">...

Page 19: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

19

Fazit – Sonnige Aussichten?

XML: standardisierte Kodierung Konsistenzprüfung Datenaustausch Schnittstellen Platzbedarf

Page 20: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

20

XSLT

Hannah Kermes

HS: Elektronische Wörterbücher

Do, 18.11.2004

Page 21: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

21

XSL und XSLT

XSL (eXtensible Stylesheet Language) XSLT

- Konvertierung von XML-Dokumente in andere textbasierte Formate

XSLT-Stylesheet- Sammlung von Templates

(Transformationsregeln)- sind selbst XML-Dokumente- unterliegen den Restriktionen von XML

Page 22: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

22

Verarbeitungs-Modell

...

Text

HTML

XML

XML XSLT

Stylesheet-Prozessor

XSLT-Stylesheets

Page 23: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

23

Struktur des XML-Dokuments

<wetter>

</wetter>

<tag wochentag="Mo" tag="1" monat="4" jahr="2002">

</tag>

<messung stadt="Frankfurt">

</messung>

<temperatur morgens="3" mittags="18" abends="16" nachts="7"/>

Page 24: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

24

XML-Dokumentbaum

<wetter>

<tag>

<messung>

tag="1"

monat="4"

jahr="2002"

stadt="Frankfurt"

<temperatur> morgens="3"

mittags="18"

abends="16"

nachts="7"

Page 25: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

25

Templates...

Bausteine der Stylesheets Regeln für Transformationen strukturieren Stylesheets (top-down)

Page 26: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

26

Das erste Stylesheet

Stylesheet als XML-Dokument:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template>...</xsl:template>

</xsl:stylesheet>

Page 27: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

27

Das erste Stylesheet

Stylesheet als XML-Dokument:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method=“html“/>

<xsl:template>...</xsl:template>

</xsl:stylesheet>

Page 28: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

28

Templates – Wetterbeispiel

<xsl:template match="wetter">

<HTML>

<BODY>

<H3>Wetterdaten</H3>

<xsl:apply-templates select="tag"/>

</BODY>

</HTML>

</xsl:template>

Page 29: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

29

Templates – Wetterbeispiel

<xsl:template match="wetter">

<HTML>

<BODY>

<H3>Wetterdaten</H3>

<xsl:apply-templates select="tag"/>

</BODY>

</HTML>

</xsl:template>

Page 30: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

30

Templates – Wetterbeispiel

<xsl:template match="wetter">

<HTML>

<BODY>

<H3>Wetterdaten</H3>

<xsl:apply-templates select="tag"/>

</BODY>

</HTML>

</xsl:template>

Page 31: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

31

Templates – Wetterbeispiel

<xsl:template match="wetter">

<HTML>

<BODY>

<H3>Wetterdaten</H3>

<xsl:apply-templates select="tag"/>

</BODY>

</HTML>

</xsl:template>

Page 32: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

32

Templates – Wetterbeispiel

<xsl:template match="tag">

<H4><xsl:value-of select="@tag"/>.

<xsl:value-of select="@monat"/>.</H4>

<TABLE>

<xsl:apply-templates

select="messung“/>

</TABLE>

</xsl:template>

Page 33: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

33

Templates – Wetterbeispiel

<xsl:template match="tag">

<H4><xsl:value-of select="@tag"/>.

<xsl:value-of select="@monat"/>.</H4>

<TABLE>

<xsl:apply-templates

select="messung“/>

</TABLE>

</xsl:template>

Page 34: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

34

Templates – Wetterbeispiel

<xsl:template match="tag">

<H4><xsl:value-of select="@tag"/>.

<xsl:value-of select="@monat"/>.</H4>

<TABLE>

<xsl:apply-templates

select="messung[@stadt=`Frankfurt´]“/>

</TABLE>

</xsl:template>

Page 35: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

35

Templates – Wetterbeispiel

<xsl:template match="messung">

<TR>

<TD><xsl:value-of select=“temperatur/@morgens"/> </TD>

<TD><xsl:value-of select="temperatur/@mittags"/> </TD>

</TR>

</xsl:template>

Page 36: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

36

Top-Level-Parameter

Idee: Parametrisiere die Angabe der Stadt

Mechanismus: Top-Level-Parameter

<xsl:stylesheet>

<xsl:param name = "param_stadt" select = "'Frankfurt'"/> ...

</xsl:stylesheet>

Page 37: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

37

Einsatz des Parameters

<xsl:template match="tag">

<xsl:value-of select="@wochentag"/>:

<TABLE>

<xsl:apply-templates

select="messung[@stadt = 'Frankfurt' ]"/>

</TABLE>

</xsl:template>

$param_stadt

Page 38: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

38

Modell XML+XSLT

...

Text

HTML

XML

XML XSLT

Stylesheet-Prozessor

XSLT-Stylesheets

Page 39: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

39

Alternatives Modell

DB

Text

HTML

XMLX

Stylesheet-Prozessor

P1

P2

P3

...

Programme

...

Resultate

Page 40: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

40

XML und XSLT – Diskussion

Austauschbarkeit der Daten

(DTD, Zeichensatz, ...) (intuitiver) Zugang zu den Daten Verarbeitung: gemeinsamer Nenner

Stylesheets

Effizienz

Page 41: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

41

Fazit

XML eignet sich zur standardisierten Kodierung beliebiger Daten.

XSLT eignet sich zur standardisierten Verarbeitung beliebiger XML-Kodierungen.

XML und XSLT – Ein starkes Team!

Page 42: IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

IMS Universität Stuttgart

42

Kombination der Modelle

Text

HTML

XML

XML XSLTStylesheet-Prozessor

XSLT-Stylesheets

DB

XQuery,XPath