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

Post on 05-Apr-2015

103 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

IMS Universität Stuttgart

4

XML

inhaltliche Bausteine:- Elemente- Attribute

formale Bausteine:- syntaktische Festlegung auf die Notation

der inhaltlichen Bausteine

genau ein Wurzelement

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

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"/>

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"/>

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.

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.

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)

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+)>

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>

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"/>

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>...

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)

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>

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>

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">...

IMS Universität Stuttgart

19

Fazit – Sonnige Aussichten?

XML: standardisierte Kodierung Konsistenzprüfung Datenaustausch Schnittstellen Platzbedarf

IMS Universität Stuttgart

20

XSLT

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

IMS Universität Stuttgart

22

Verarbeitungs-Modell

...

Text

HTML

XML

XML XSLT

Stylesheet-Prozessor

XSLT-Stylesheets

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"/>

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"

IMS Universität Stuttgart

25

Templates...

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

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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

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>

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

IMS Universität Stuttgart

38

Modell XML+XSLT

...

Text

HTML

XML

XML XSLT

Stylesheet-Prozessor

XSLT-Stylesheets

IMS Universität Stuttgart

39

Alternatives Modell

DB

Text

HTML

XMLX

Stylesheet-Prozessor

P1

P2

P3

...

Programme

...

Resultate

IMS Universität Stuttgart

40

XML und XSLT – Diskussion

Austauschbarkeit der Daten

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

Stylesheets

Effizienz

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!

IMS Universität Stuttgart

42

Kombination der Modelle

Text

HTML

XML

XML XSLTStylesheet-Prozessor

XSLT-Stylesheets

DB

XQuery,XPath

top related