Upload
bartolomaeus-rath
View
105
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Meike Klettke
Universität Rostock
Vorlesung “XML und Datenbanken”
2) XML-Syntax21
Entities /2
Vordefinierte Entities zur Verwendung spezieller Zeichen
– < für <
– > für >
– & für &
– ' für ´
– " 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
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:– < stellt das Zeichen < dar
- Einleitung
- Syntax
> Elemente
> Attribute
> ID, IDREF
> Entities
> PI
> Kommentare
- Vorspann
- Eigenschaften
- Beispiele
- XLink- XPointer- Literatur
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
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
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
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
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
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
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
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 (< &) 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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”>
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
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
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
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
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