50
XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik [email protected] www.xml-und-datenbanken.de

XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik [email protected]

Embed Size (px)

Citation preview

Page 1: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

XML und Datenbanken- Einführung in XML -

Meike KlettkeUniversität RostockFakultät für Informatik und Elektrotechnikmeike@informatik.uni-rostock.dewww.xml-und-datenbanken.de

Page 2: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax2

Inhalt

XML– Elemente, Attribute – Vergleich Elemente und Attribute– ID/IDREF

DTDs– Elemente, Attribute, Entities

XLink, XPointer Eigenschaften von XML-Dokumenten Weiterführende Literatur

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 3: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax3

Beispiele für XML-Dokumente

<content>

XML builds on the principles of two

existing languages, <emph>HTML

</emph> and <emph>SGML

</emph> to create a simple mechanism .. The generalized markup concept .. </content>

<order>

<customer>Meyer</customer>

<position>

<isbn>1-234-56789-0</isbn>

<number>2</number>

<price currency=´Euro´>30.00</price>

</position>

</order>

Elemente und Attribute

hierarchische Schachtelung

Sequenz

Markup in Volltexten

Mixed Content Elemente

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 4: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax4

Syntax von Elementen /1

„Grundbausteine“ eines XML-Dokumentes

Ein Element besteht aus: Start-Tag Ende-Tag und Elementinhalt

Beispiel:

<vortragender> Ronald Bourret </vortragender>

Start-Tag Ende-TagElementinhalt

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 5: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax5

Syntax von Elementen /2

Leere Elemente sind möglich:

Beispiel:

<koordinaten/>

Elemente können verschachtelt werden:

<vortragender>

<name>Bourret</name>

<vorname>Ronald</vorname>

</vortragender>

Start-Tag

Ende-Tag

Elementinhalt

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 6: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax6

Graphische Darstellung von XML-Dokumenten

XML-Dokumente sind Bäume! Beispiel:

<vortragender>

<name>Bourret</name>

<vorname>Ronald</vorname>

</vortragender>

korrekte Schachtelung der

Elemente notwendig

name vorname

BourretRonald

vortragender

ElementknotenTextknoten

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 7: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax7

Verwendung einer Schemabeschreibung: DTD

Darstellung, welche Elemente auftreten können und wie sie geschachtelt werden

Also: Deklaration von Strukturinformationen

Vorteile einer DTD: – Entspricht einer Dokumentation für die XML-Dokumente– Anwendungen können darauf reagieren– Fehler in XML-Dokumenten können erkannt werden– Oft: bessere Qualität der XML-Dokumente, weil

durchdachteres Vorgehen

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 8: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax8

Definition von Elementen in einer DTDXML-Dokument:

<vortragender> Ronald Bourret </vortragender>

Zugehörige DTD:<!ELEMENT vortragender (#PCDATA)>

XML-Dokument:<vortragender>

<name> Bourret </name> <vorname> Ronald </vorname>

</vortragender>

Zugehörige DTD:<!ELEMENT vortragender (name, vorname)><!ELEMENT name (#PCDATA)><!ELEMENT vorname (#PCDATA)>

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 9: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax9

Definition von Elementen in einer DTD (Inhaltsmodelle)

Sequenz (A , B) A und B müssen in der angegebenen

Reihenfolge im Dokument auftreten Alternative (A | B) entweder A oder B treten im

Dokumente auf Wiederholung A? - 0..1 Mal A+ - 1..n Mal A* - 0..n Mal Mixed Content (#PCDATA | A | B)* A, B oder beliebiger Text treten im Dokument auf

<!ELEMENT hotel (name, adresse)><!ELEMENT name (#PCDATA)><!ELEMENT adresse (plz, ort, ((strasse, nummer?) | postfach))><!ELEMENT beschreibung (#PCDATA | ausstattung | gastronomie)*>

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 10: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax10

Beispiele zur Definition von Elementen in einer DTD /1

<!ELEMENT hotel (name, adresse)>

<hotel> <name>Hotel am Leuchtturm</name><adresse>...</adresse>

</hotel>

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 11: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax11

Beispiele zur Definition von Elementen in einer DTD /2

<!ELEMENT adresse (plz, ort, ((strasse, nummer?) | postfach))>

<adresse><plz>18119</plz><ort>Warnemuende</ort>

<strasse>Seestrasse</strasse><nummer>12</nummer>

</adresse>

<adresse><plz>18051</plz><ort>Rostock</ort>

<postfach>12345</postfach></adresse>

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 12: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax12

Beispiele zur Definition von Elementen in einer DTD /3

<!ELEMENT beschreibung (# PCDATA | ausstattung | gastronomie)*>

<beschreibung>Das Hotel am Leuchtturm befindet sich direkt amAlten Strom, mit Blick auf die Hafeneinfahrt, die Mole und denStrand.</beschreibung>

<beschreibung>Unser Hotel verfügt über eine <ausstattung> Sauna </ausstattung> und eine <ausstattung> Meerwasserschwimmhalle </ausstattung>. Das <gastronomie> Hotelrestaurant</gastronomie> bietet regionale Küche und Fischspezialitäten. </beschreibung>

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 13: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax13

Syntax von Attributen /1

Attribute werden einem Element des XML-Dokumentes zugeordnet:

<vortragender tutorial=´T1´> Ronald Bourret </vortragender>

Zugehörige DTD:

<!ELEMENT vortragender (#PCDATA)>

<!ATTLIST vortragender tutorial CDATA #REQUIRED>

Start-Tag Ende-TagElementinhalt

Attributname Attributwert

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 14: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax14

Syntax von Attributen / 2

XML-Dokument

<koordinaten x=´200´ y=´300´ z=´150´ />

DTD

<!ELEMENT koordinaten EMPTY>

<!ATTLIST koordinaten x CDATA #REQUIRED

y CDATA #REQUIRED

z CDATA #IMPLIED >

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 15: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax15

Darstellung von XML-Dokumenten (mit Elementen und Attributen)

XML-Dokumente sind Bäume!

Beispiel:<vortragender tutorial=´T1´>

<name>Bourret</name>

<vorname>Ronald</vorname>

</vortragender>

ElementknotenTextknotenAttributknoten

T1

tutorial name vorname

BourretRonald

vortragender

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 16: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax16

Deklaration von Attributen in einer DTDAttribute haben einen Namen einen Typ (CDATA, ID, IDREF/IDREFs, ENTITY/ENTITYS, NMTOKEN/NMTOKENS oder (wert1|wert2|...) Aufzählung möglicher Werte eine Angabe, ob das Attribut

auftreten muss (#REQUIRED, #IMPLIED oder #FIXED) oder einen optionalen Defaultwert (bei #FIXED ist dieser auch erforderlich)

<!ATTLIST preis waehrung

CDATA #REQUIRED>

<!ATTLIST projekt id

ID #REQUIRED>

<!ATTLIST person projekt

IDREF #REQUIRED>

<!ATTLIST plz xml-sqltype

CDATA#FIXED ´INTEGER´>

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 17: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax17

ID / IDREF

Attribute können als ID/ IDREF/ IDREFS definiert sein

Werte innerhalb eines Dokumentes eindeutig

<!ELEMENT projekt (title)>

<!ATTLIST projekt bearbeiter IDREF

#REQUIRED>

<!ELEMENT person (name, ..)>

<!ATTLIST person id ID

#REQUIRED>

...

<!ELEMENT abteilung EMPTY>

<!ATTLIST abteilung abt_id ID

#REQUIRED>

<projekt bearbeiter=´p0001´>

<title>...</title>

</projekt>

<projekt bearbeiter=´a0001´>

<title>...</title>

</projekt>

...

<person id=´p0001´>

<name>Meyer</name>

</person>

...

<abteilung abt_id=´a0001´>

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 18: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax18

ID/IDREF-Veranschaulichung

Durch die Werte der IDREF-Attribute ergibt sich, welche IDs referenziert

werden. Diese können verschiedenen Elementtypen zugeordnet sein.

Globale Eindeutigkeit der IDs ist erforderlich.

ganz anderes Konzept als Schl./Fremdschlüssel in DB

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 19: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax19

Verwendung von Elementen oder Attributen (in DTDs)

Elemente

Quantifizierer 1/?/+/*

Alternativen

keine Defaultwerte

keine Aufzählungstypen

geeignet für komplexere Informationen

Einsatz für Darstellung von Daten

Attribute

#REQUIRED/#IMPLIED

keine Alternativen

Defaultwerte

Aufzählungstypen

geeignet für strukturierte und wenig detaillierte Informationen

Einsatz für Darstellung von Metadaten

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 20: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax20

Entities /1

Allgemeine Entity-Deklarationen:– zur Definition von Dokumentbestandteilen

<!ENTITY hansesailtermin ´11.-14. August 2005´>

<!ENTITY hansesailteilnehmer ´200 Traditionssegler und Museumsschiffe´>

<veranstaltung>

Die Hansesail findet in diesem Jahr vom

&hansesailtermin; statt.

Es werden &hansesailteilnehmer; erwartet.

</veranstaltung>

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 21: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax21

Entities /2

Vordefinierte Entities zur Verwendung spezieller Zeichen

– &lt; für <

– &gt; für >

– &amp; für &

– &apos; für ´

– &quot; für “ Zeichen können nicht direkt im Text dargestellt werden, da

sie eine besondere Bedeutung haben. Diese Entities kann jeder XML-Prozessor auswerten.

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 22: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax22

Entities /3

Character Entities zur Definition von Sonderzeichen Dezimalzahlen im Bereich 0..255

– Verwendung der Zeichen der erweiterten ASCII-Menge (ISO 8859/1), auch Latin-1 genannt

Dezimalzahlen im Bereich 256..65535– Verwendung der Zeichen des Unicode-Zeichensatzes

(ISO 10646) Anstelle von Dezimalzahlen lassen sich

Hexadezimalzahlen verwenden, diesen wird ein x vorangestellt

Beispiel:– &#60 stellt das Zeichen < dar

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 23: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax23

Entities /4

Nichtgeparste Entities zur Einbindung anderer Dateiformate– Bilder und ähnliches

Beispiel:<!ELEMENT Hotel (#PCDATA)>

<!ATTLIST Hotel ansicht ENTITY #IMPLIED>

<!ENTITY ansicht_Huebner

SYSTEM "ansicht_Huebner.gif" NDATA GIF>

<!NOTATION GIF SYSTEM 'gifviewer.exe‘>

 

<Hotel ansicht="ansicht_Huebner">

Strand Hotel Hübner

</Hotel>

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 24: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax24

Entities /5

Parameter Entities– zur Verwendung in DTDs

Beispiel:– <!ENTITY % adressdef ´(ort,plz,strasse,nummer)´>– <!ELEMENT adresse %adressdef;>

Einsatz zur Deklaration von mehrfach auftretenden Teilen einer DTD

Ziel: Wiederverwendung, „Modularisierung“

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 25: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax25

Processing Instructions

Anweisungen für die Verarbeitung des Dokuments Einschränkung: im Namen der Processing Instruction darf

der Teilstring xml nicht auftreten   gebräuchlichster Einsatz: Zuweisung von Stylesheets zu

XML-Dokumenten.Syntax: <? PI-Name PI-Anweisung ?>Beispiel: 

<?xml-stylesheet type="text/xsl" href="C:/Eigene Dateien/meike/xml/my-style.xsl"?>

Anwendungen muss Processing Instruction auswerten können 

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 26: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax26

Kommentare

können in DTDs und in XML-Dokumenten auftreten Verwendung:

– Strukturierung von Dokumenten, – Gliederung– Lesbarkeit für den Anwender erhöhen

Kommentare lassen sich durch Applikationen auswerten (z.B. mit XML-Prozessoren, XSLT)

Dennoch nicht geeignet– um Informationen darzustellen, die ins XML-Dokument oder die

Processing Instruction gehören

Syntax: <!-- Dies ist ein Beispielkommentar -->

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 27: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax27

Aufbau eines XML-Dokumentes

Bestandteile eines XML-Dokumentes

Vorspann

DTD

XML

DTD und XML schon kurz vorgestellt, wie sieht der Vorspann aus?

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 28: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax28

Vorspann eines XML-Dokumentes

enthält die folgenden Bestandteile:  version

– gegenwärtig nur 1.0, 1.1 – falls zukünftig weitere Versionen als Empfehlung vom W3C

verabschiedet werden, dann ermöglicht der Parameter die Verarbeitung verschiedener Versionen.

encoding (optional)– Kodierung des Dokuments, Beispiele (UTF-8 – auch Defaultwert,

UTF-16 - müssen ebenfalls alle XML-Prozessoren unterstützen). standalone (optional)

– 'yes' - spezifiziert, dass dem Dokument keine externe Markup-Deklaration (DTD oder XML-Schema) zugeordnet wird, sonst 'no'

– Defaultwert 'no'‚ wenn externe Deklaration definiert ist und standalone nicht angegeben ist

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 29: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax29

Beispiele für den Vorspann

<?XML version="1.0" encoding="UTF-8"

standalone="yes">

 

<?XML version="1.0" encoding="UTF-16"

standalone="no">

<!DOCTYPE tourismus-infos SYSTEM "tourismus.dtd">

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 30: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax30

Eigenschaften von XML-DokumentenWohlgeformtheit Dokument syntaktisch korrekt? Überprüft wird:

– Alle Elemente müssen ein Start-Tag und ein Ende-Tag haben, außer leere Elemente

– Korrekte Schachtelung von Tags– Alle Attributwerte stehen in Hochkommas oder Anführungsstrichen– Ohne zugeordnete DTD sind alle Attribute nach Definition vom Typ

CDATA– Keine mehrfach auftretenden Attributnamen an einem Element– Alle Zeichen, die Markup sein könnten (Bsp <, &), dürfen nicht im

Text auftreten, sondern müssen durch Entityreferenzen (&lt; &amp;) ersetzt werden

– ... Verlernen schlechter Eigenschaften, die man sich bei der

HTML-Erstellung leicht angewöhnt

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 31: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax31

Eigenschaften von XML-Dokumenten

Gültigkeit– Wohlgeformtheit und entspricht das XML-Dokument der

zugeordneten DTD?

– Getestet wird z.B.:• Inhaltsmodelle der Elemente,

so im Schema definiert?• Attribute definiert?

XML-Dokumente

Schema-beschreibung

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 32: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax32

Ein umfangreicheres Beispiel

<!-- Hotel DTD-->

<!ELEMENT hotel (name, kategorie?, adresse,

hausbeschreibung, preise*>

<!ATTLIST hotel id ID #REQUIRED

url CDATA #REQUIRED>

<!ELEMENT name (#PCDATA)>

<!ELEMENT kategorie (#PCDATA)>

<!ELEMENT adresse (plz, ort,

strasse, hausnummer, telefon,

fax?, e-mail?)>

<!ELEMENT plz (#PCDATA)>

...

<!ELEMENT hausbeschreibung (#PCDATA)>

<!ELEMENT preise (#PCDATA | einzelzimmer |

doppelzimmer | appartment)*>

<!ATTLIST preise waehrung CDATA #REQUIRED>

<!ELEMENT einzelzimmer (#PCDATA)>...

<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hotel SYSTEM "hotel_dt.dtd"><hotel id="id001" url="http://www.hotel-huebner.de"> <name>Strand Hotel Huebner</name> <adresse> <plz>18119</plz> <ort>Rostock-Warnemuende</ort> ... </adresse> <hausbeschreibung> Direkt an der Promenade von Warnemuende befindet sich das Strand-Hotel Huebner mit Blick auf Leuchtturm, Hafeneinfahrt und Strand. </hausbeschreibung> <preise waehrung=„Euro"> <einzelzimmer>ab 78,-</></>...</hotel>

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 33: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax33

Umfangreicheres Beispiel: DTD

<!ELEMENT publications (book | article | conference)*>

<!ELEMENT book (front, body, references)>

<!ATTLIST book isbn CDATA #REQUIRED>

<!ELEMENT front (title, author+, edition?, publisher)>

<!ELEMENT title (#PCDATA)>

<!ELEMENT author (first, second, e-mail?)>

<!ELEMENT first (#PCDATA)>

...

<!ELEMENT edition (#PCDATA)>

<!ELEMENT publisher (#PCDATA)>

<!ELEMENT body (part+ | chapter+)>

<!ELEMENT part (ptitle, chapter+)>

<!ATTLIST part id ID #REQUIRED>

<!ELEMENT ptitle (#PCDATA)>

<!ELEMENT chapter (ctitle, section+)>

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 34: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax34

Graphische Darstellung: DTD

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 35: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax35

Umfangreicheres Beispiel: XML-Dokument /1<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE publications SYSTEM "C:\..\vorlesungen\xmldb\publications.dtd"><publications> <book isbn=„354041956"> <front> <title>Datenbanken und XML</title> <author> <first>Wasilios</first> <second>Kazakos</second> </author> <author> <first>Andreas</first> <second>Schmidt</second> </author> <author> <first>Peter</first> <second>Tomazcyk</second> </author> <publisher>Springer Verlag</publisher> </front> <body> <part id="k1"> <ptitle>..</ptitle>

... </part> </body>

</book> ...

weiter auf der nächsten Seite

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 36: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax36

Umfangreicheres Beispiel: XML-Dokument /2

<book isbn=„3446220089"> <front> <title>XML und Datenbanken</title> <author> <first>Harald</first> <second>Schoening</second> </author> <publisher>Hanser Verlag</publisher> </front> <body> <part id="s1"> <ptitle/> <chapter> <ctitle/>

... </chapter> </part> </body> <references>..</references> </book></publications>

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 37: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax37

Graphische Darstellung: XML-Dokument

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 38: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax38

Logische vs. physische Struktur

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 39: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax39

XLink / XPointer

Realisierung von Hyperlinks

XLink: Einfache und erweiterte Verweise sind möglich Einfache Verweise (ähnlich wie in HTML) Erweiterte Verweise können mit Metadaten annotiert

werden

XPointer: Realisierung von Hyperlinks, die nicht nur auf ganze XML-

Dokumente zeigen, sondern auf Bestandteile diese Bestandteile werden durch XPath-Ausdrücke

angegeben

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 40: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax40

XLink: einfache Verweise

Gehen von beliebigen Elementen aus, können die folgenden Attribute verwenden

– xlink:type• Bei einfachen Verweisen auf simple gesetzt

– xlink:href• Enthält den eigentlichen Verweis

– xlink:role– xlink:arcrole– xlink:title– xlink:show

• (new|replace|embed|other|none) – Anzeige des Verweises wird gesteuert

– xlink:actuate• (onLoad|onRequest|other|none) – Zeitpunkt der Auswertung des

Verweises wird festgelegt

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 41: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax41

XLink: Beispiel

<?xml version="1.0" encoding="UTF-8"?><rechnung kundennummer="k333063143" xmlns:xlink="http://www.w3.org/1999/xlink">

<monatspreis>0,00</monatspreis><einzelverbindungsnachweis xlink:title="Monatsabrechnung" xlink:href="april2003.xml" xlink:show="embed"/>

</rechnung>

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 42: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax42

XPointer

Realisierung von Hyperlinks, die direkt auf einzelne Bestandteile von XML-Dokumenten verweisen

XPath wird eingesetzt, um diese zu beschreiben XPath ist eine Sprache, die der Adressierung von

Dokumentbestandteilen dient Auf XPath basiert eine Reihe weiterer Empfehlungen wie

XQuery (Anfragesprache für XML-Dokumente), XSLT Transformationssprache für XML-Dokumente) und XPointer.

XPath ist Bestandteil einer eigenen Vorlesung, hier erfolgt nur ein Vorgriff

Informal: Adressierung von Dokumentteilen durch Beschreibung von Pfaden und Bedingungen

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 43: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax43

XPointer: Beispiel

<lexikon><eintrag stichwort="Information„> ...

<erklaerung num="3"><anwendung>Informatik:</anwendung> die formulierte

Unterrichtung nicht nur von Menschen, sondern auch von Organisationen und techn. Einrichtungen über Sachverhalte, Ereignisse, Abläufe. Die <siehe_eintrag xml:link="locator„ xlink:href="band3.xml#//eintrag@stichwort=´Informationstheorie´" xlink.show="replace" title="Informationstheorie">Informationstheorie </siehe_eintrag> versteht unter Informatik ein Maß, das den

Zeichen einer Nachricht zugeordnet ist.</erklaerung> ...

</eintrag></lexikon>

Der Verweis erfolgt in das Dokument band3.xml auf das Element eintrag, dem das Stichwort Informationstheorie als Attribut zugeordnet ist.

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 44: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax44

Vorausschau: andere Methoden zur Schemabeschreibung

XML-Schema (kommt in einer sp,teren Vorlesung)– Genauere Darstellung von Strukturinformation ist

möglich, Bsp: minOccurs, maxOccurs, pattern, …– XML-Syntax– Datentypen (41 Standard-Datentypen,

benutzerdefinierte DT)

Page 45: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax45

Beispiel: XML-Schema

<xs:complexType name="Adresse"> <xs:complexContent>

<xs:restriction base="xs:anyType"> <xs:sequence> <xs:element name="Ort" minOccurs="1" maxOccurs="1" type="ort" /> <xs:element name="PLZ" minOccurs="1" maxOccurs="1" type="xs:integer" /> <xs:element name= "Strasse" minOccurs="1" maxOccurs="1" type= "xs:string"/> <xs:element name="Nr" minOccurs="1" maxOccurs="1" type="hausnummer"/> </xs:sequence> </xs:restriction></xs:complexContent>

</xs:complexType><xs:element name=“adresse” type=“Adresse”>

Page 46: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax46

Zusammenfassung

XML-Dokumente bestehen aus Elementen Attributen Processing Instructions Kommentaren

Ihnen können externe und interne DTDs zugeordnet sein.

Zuordnung eines XML-Schemas ist ebenfalls möglich.

DTDs bzw. XML Schema beschreiben die Struktur von XML-

Dokumenten.

Gültigkeit der XML-Dokumente wird an diesen getestet.

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 47: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax47

Zusammenfassung / 2

Durch diese einfache Syntax können verschiedene Arten von Informationen dargestellt werden

Palette reicht von Daten bis hin zu Dokumenten Siehe dazu auch nächste Folie

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 48: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax48

Klassifikation von XML Dokumenten

Datenzentrierte Dokumente

strukturiert, regulär

Beispiele: Produktkataloge, Bestellungen,

Rechnungen

Dokumentzentrierte Dokumente

unstrukturiert, irregulär

Beispiele: wissenschaftliche Artikel,

Bücher, E-Mails, Webseiten

Semistrukturierte Dokumente

datenzentrierte und dokumentzentrierte

Anteile

Beispiele: Veröffentlichungen, Amazon

<order> <customer>Meyer</customer> <position> <isbn>1-234-56789-0</isbn> <number>2</number> <price currency=„Euro“>30.00</price> </position></order>

<content>XML builds on the principles of two existing languages, <emph>HTML</emph> and <emph>SGML</emph> to create a simple mechanism .. The generalized markup concept ..</content>

<book> <author>Neil Bradley</author> <title>XML companion</title> <isbn>1-234-56789-0</isbn> <content> XML builds on the principles of two existing languages, <emph>HTML</emph> and .. </content></book>

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 49: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax49

Empfehlung

Vor den nächsten Vorlesungen ist es sinnvoll, praktisch mit XML-Dokumenten und DTDs gearbeitet zu haben.

Dazu eine Übung oder individuelles Ausprobieren von– Erstellung eines XML-Dokumentes (mit Elementen und

Attributen)– Test der Wohlgeformtheit– Erstellung einer DTD– Test der Gültigkeit.

Verwendbar dazu XML Spy, für 30 Tage kostenlose Probelizenz, kann unter www.xmlspy.com angefordert werden.

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur

Page 50: XML und Datenbanken - Einführung in XML - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de

Meike Klettke

Universität Rostock

Vorlesung “XML und Datenbanken”

2) XML-Syntax50

Weiterführende Literatur

www.w3.org (Informationen des W3C) ... unzählige Bücher

- Einleitung

- Syntax

> Elemente

> Attribute

> ID, IDREF

> Entities

> PI

> Kommentare

- Vorspann

- Eigenschaften

- Beispiele

- XLink- XPointer- Literatur