XML
Extensible Markup Language
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 1
XML
• Metasprache
– Sprache, die Sprachen beschreibt
– Sprachen beschreiben Formate zum
Datenaustausch
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 2
Beispiel
Hans Meyer
Lohmannstrasse 23
06366 Köthen
Dr. Else Müller
Bernburger Strasse 56
06366 Köthen
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 3
Beispiel
<Patient>
<Name>
<Strasse>
<Ort>
</Patient>
<Arzt>
<Name>
<Strasse>
<Ort>
</Arzt>
Worzyk
FH Anhalt
Hans Meyer
Lohmannstrasse 23
06366 Köthen
</Name>
</Strasse>
</Ort>
Dr. Else Müller
Bernburger Strasse 56
06366 Köthen
</Name>
</Strasse>
</Ort>
Datenbanksysteme für FÜ WS 2004/2005
XML - 4
Aufbau von XML-Dokumenten
• Prolog
– Deklaration der Dokumenttypen
– DTD (Document Type Definition)
• Elemente
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 5
Document Type Definition
DTD
•
•
•
•
•
Beschreibt die Grammatik eines XML – Dokuments
Erlaubte Elemente und Attribute
Deren Datentyp und Wertebereich
Deren Schachtelung
Ein XML – Dokument, das den Regeln einer DTD
entspricht heißt gültig
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 6
Beispiel DTD
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Personen [
<!ELEMENT Personen (Person)>
<!ELEMENT Person (#PCDATA)>
]>
<Personen>
<Person>
Hans Meyer
Lohmannstrasse 23
06366 Köthen
</Person>
</Personen>
Worzyk
FH Anhalt
http://www.inf.hs-anhalt.de/~Worzyk/Telemedizin/Beispiele/Patienten1.xml
Datenbanksysteme für FÜ WS 2004/2005
XML - 7
Zeichensätze
UTF8 Universeller Zeichensatz entspricht der ASCII Tabelle
ISO-8859-1 Albanisch, Dänisch, Deutsch, Englisch, Farörisch, Finnisch, Französisch, Galizisch,
Irisch, Isländisch, Italienisch, Katalanisch, Niederländisch, Norwegisch, Portugiesisch, Schwedisch
und Spanisch
ISO-8859-5 Bulgarisch, Mazedonisch, Russisch, Serbisch und Ukrainisch
http://de.selfhtml.org/inter/zeichensaetze.htm
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 8
Aufbau von XML-Dokumenten
• DTD beschreibt die Eigenschaften der Elemente
• Elemente werden durch ein Startzeichen <Elementname> eingeleitet
und durch ein Endzeichen </Elementname> abgeschlossen. Elemente
können Elemente enthalten.
• #PCDATA Parsed character data: Das Element besteht aus einer Kette
der im definierten Zeichensatz erlaubten Zeichen.
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 9
Folge von Elementen
Untergeordnete Elemente werden in der Deklaration durch Kommata voneinander
getrennt und in Klammern eingeschlossen.
Beispiel:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Personen [
<!ELEMENT Personen (Patient,Arzt)>
<!ELEMENT Patient (Name,Adresse)>
<!ELEMENT Arzt (Name, Adresse)>
<!ELEMENT Name (#PCDATA)>
<!ELEMENT Adresse (#PCDATA)>
]>
http://www.inf.hs-anhalt.de/~Worzyk/Telemedizin/Beispiele/Patienten2.xml
Worzyk
FH Anhalt
http://www.inf.hs-anhalt.de/~Worzyk/Telemedizin/Beispiele/Patienten3.xml
Datenbanksysteme für FÜ WS 2004/2005
XML - 10
Auswahlliste
• Auswahl genau eines Elementes: Die wahlweise zur Verfügung
stehenden Elemente werden durch | getrennt
• Beispiel:
<!DOCTYPE Personen [
<!ELEMENT Personen (Patient|Arzt)>
<!ELEMENT Patient (Name,Adresse,Diagnose)>
<!ELEMENT Arzt (Name, Adresse,Fachgebiet)>
Worzyk
FH Anhalt
http://www.inf.hs-anhalt.de/~Worzyk/Telemedizin/Beispiele/Patienten4.xml
Datenbanksysteme für FÜ WS 2004/2005
XML - 11
Mehrmaliges Auftreten
* Das Element kann keinmal oder beliebig oft erscheinen
+ Das Element kann mindestens einmal oder beliebig oft
erscheinen
? Das Element kann keinmal oder höchstens einmal erscheinen
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 12
Attribute
<!ATTLIST element-name attribute-name attribute-type default-value>
Attributtypen:
CDATA, (en1|en2|..), ID, IDREF, IDREFS, NMTOKEN, NMTOKENS, ENTITY, ENTITIES,
NOTATION, xml:
Defaultwerte:
value
#REQUIRED, #IMPLIED, #FIXED value
http://www.inf.hs-anhalt.de/~Worzyk/Telemedizin/Beispiele/Patienten5.xml
Worzyk
FH Anhalt
Datenbanksysteme 2 SS 2004
Seite 13 - 13
Kommentare
Kommentare werden von
<!– und -->
eingeschlossen.
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 14
Wohlgeformte XML - Datei
• Am Beginn steht die XML-Deklaration, die den Bezug zu XML
herstellt
• Es gibt mindestens ein Datenelement
• Es gibt ein äußerstes Datenelement, das alle anderen Datenelemente
enthält
• Die erforderlichen Attribute sind angegeben
• Alle Werte haben den richtigen Datentyp und Wertebereich
• Die Elemente müssen korrekt verschachtelt sein
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 15
Gültige XML-Datei
• Die Datei ist wohlgeformt
• Der Datei ist eine DTD zugeordnet
• Der Inhalt der Datei entspricht den Regeln der zugeordneten
DTD
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 16
Prüfen, ob die XML-Datei gültig ist:
Parser
<html>
<body>
<script type="text/javascript">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.validateOnParse="true"
xmlDoc.load("Patienten5.xml")
document.write("<br />Error Code: ")
document.write(xmlDoc.parseError.errorCode)
document.write("<br />Error Reason: ")
document.write(xmlDoc.parseError.reason)
document.write("<br />Error Line: ")
document.write(xmlDoc.parseError.line)
</script>
</body>
</html>
Worzyk
FH Anhalt
http://www.inf.hs-anhalt.de/~Worzyk/Telemedizin/Beispiele/Parser.htm
Datenbanksysteme für FÜ WS 2004/2005
XML - 17
DTD - Nachteile
• Wenige Datentypen
• Beschreibung nicht in der XML - Syntax
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 18
XML - Schema
Definiert:
•
•
•
•
•
•
•
•
Elemente, die in einem Dokument erscheinen können
Attribute, die ein Element haben kann
die Kindelemente
die Reihenfolge der Kindelemente
die Anzahl der Kindelemente
Pflichtfelder
Datentypen von Elementen und Attributen
Defaultwerte
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 19
XML Schema
Vorteil gegenüber DTD
• Erweiterbar um zukünftige Anwendungen
• in XML geschrieben
• Unterstützen Namesspaces
– xmlns:xs="http://www.w3.org/2001/XMLSchema“
• unterstützen Datentypen
– xs;date, xs;dateTime, xs:string
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 20
Syntax
Schema
Das <schema> Element ist die Wurzel eines XML Schema:
<?xml version="1.0"?>
<xs:schema>
...
...
</xs:schema>
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 21
Syntax
Schema
Das <schema> Element kann Parameter enthalten
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Laborbefund">
…
…
</xs:schema>
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 22
Syntax
Elemente
Einfaches Element
<xs:element name="AufNr" type="xs:string"/>
Zusammengesetztes Element
<xs:element name="Identifikation">
<xs:complexType>
<xs:sequence>
<xs:element name="I-Zahl" type="xs:string"/>
<xs:element name="AufNr" type="xs:string"/>
<xs:element name="Name" type="xs:string""/>
</xs:sequence>
<!-- Ende Identifikation -->
</xs:complexType>
</xs:element>
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 23
Datentypen
<xs:element name="AufNr" type="xs:string"/>
<xs:element name="Datum" type="xs:date"/>
<xs:element name="Zeit" type="xs:time" default="12:00"/>
<xs:element name="Wert" type="xs:decimal"/>
<xs:element name="ProbenNr">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[P][0-9][0-9][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 24
Häufigkeiten
<xs:element name="I-Zahl" type="xs:string"
minOccurs="0" maxOccurs="1"/>
<xs:element name="Probe"
minOccurs= " 1 " maxOccurs="unbounded">
<xs:element name="Parameter"
minOccurs="1" maxOccurs="unbounded">
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 25
Anfragen an
XML - Dateien
• XPath
• XQuery
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 26
XPath
Die Sprache XPath dient zur Adressierung von Teilen eines
XML-Dokuments.
Sie wurde für die Verwendung sowohl in XSLT als auch in
XPointer entworfen.
XPath modelliert ein XML-Dokument als einen Baum, der aus
Knoten besteht.
http://www.informatik.hu-berlin.de/~obecker/obqo/w3c-trans/xpath-de-20010702/
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 27
Beispiel
<spielfilme>
<film regie="Tom Tykwer" titel="Lola rennt">
<beschreibung>
<name typ="w">Lola</name> rennt für <name
typ="m">Manni</name>, der 100000 Mark liegengelassen
hat und noch 20 Minuten Zeit hat, das Geld auszuliefern.
</beschreibung>
</film>
</spielfilme>
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 28
Als Baumstruktur
Worzyk
FH Anhalt
http://de.selfhtml.org/xml/regeln/baumstruktur.htm
Datenbanksysteme für FÜ WS 2004/2005
XML - 29
Anfrage mit XPath
/spielfilme/film/beschreibung/name
////name [@Typ=“w“]
/spielfilme/film[regie ="Tom Tykwer" ]*
http://www.w3schools.com/xpath/xpath_examples.asp
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 30
XQuery
• Anfragesprache für XML Daten
• benutzt Xpath Audrücke
• Analogie zu SQL
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 31
Xquery Beispiel
<?xml version="1.0" encoding="ISO-8859-1"?>
<bib>
<book year="1994">
<title>TCP/IP Illustrated</title>
<author><last>Stevens</last><first>W.</first></author>
<publisher>Addison-Wesley</publisher>
<price>65.95</price>
</book>
<book year="1992">
<title>Advanced Programming in the Unix environment</title>
<author><last>Stevens</last><first>W.</first></author>
<publisher>Addison-Wesley</publisher>
<price>65.95</price>
</book>
<book year="2000">
<title>Data on the Web</title>
<author><last>Abiteboul</last><first>Serge</first></author>
<author><last>Buneman</last><first>Peter</first></author>
<author><last>Suciu</last><first>Dan</first></author>
<publisher>Morgan Kaufmann Publishers</publisher>
<price>39.95</price>
</book>
<book year="1999">
<title>The Technology and Content for Digital TV</title>
<editor>
<last>Gerbarg</last><first>Darcy</first>
<affiliation>CITI</affiliation>
</editor>
<publisher>Kluwer Academic Publishers</publisher>
<price>129.95</price>
</book>
Worzyk
</bib>
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 32
Xquery Beispiel
Anfrage;:
doc("books.xml")/bib/book[price<50]
ergibt:
<book year="2000">
<title>Data on the Web</title>
<author><last>Abiteboul</last><first>Serge</first></author>
<author><last>Buneman</last><first>Peter</first></author>
<author><last>Suciu</last><first>Dan</first></author>
<publisher>Morgan Kaufmann Publishers</publisher>
<price>39.95</price>
</book>
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 33
FLWOR
For, Let, Where, Order by, Return
for $x in doc("books.xml")/bib/book
where $x/price>50
order by $x/title
return $x/title
ergibt:
<title>Advanced Programming in the Unix environment</title>
<title>TCP/IP Illustrated</title>
<title>The Technology and Content for Digital TV</title>
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 34
XML - Dokumente
in Datenbanken
XML - Dokumente
• datenzentriert
• dokumentzentriert
• semistrukturiert
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 35
Arten der Speicherung
• Speicherung als Ganzes
• Generische Speicherung der Dokumentenstruktur
• Abbildung auf Datenbankstrukturen
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 36
Speicherung von XML-Dokumenten als
Ganzes
Original in einem Dateien
Datenbank
Volltextindex
Strukturindex
Worzyk
FH Anhalt
system oder als CLOB in der
Datenbanksysteme für FÜ WS 2004/2005
XML - 37
Beispiel
<hotel
url=“http://www.hotel-huebner.de“
id=“h0001“
erstellt-am=“03/02/2003“
Autor=“Hans Müller“>
<hotelname>Hotel Hübner</hotelname>
<kategorie>4</kategorie>
<adresse>
<plz>18199</plz>
<ort>Warnemünde</ort>
<strasse>Seestraße</strasse>
</adresse>
<telefon>0381 / 5434-0</telefon>
<fax> 0381 / 5434-444</fax>
<anreisebeschreibung>Aus Richtung
Rostock kommend ...
</anreisebeschreibung>
</hotel>
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 38
Volltextindex
Begri ff
Verwe is
hotel
***
Warnemünde *
Rostock
*
ort
**
Worzyk
FH Anhalt
<hotel
url=“http://www.hotel-huebner.de“
id=“h0001“
erstellt-am=“03/02/2003“
Autor=“Hans Müller“>
<hotelname>Hotel Hübner</hotelname>
<kategorie>4</kategorie>
<adresse>
<plz>18199</plz>
<ort>Warnemünde</ort>
<strasse>Seestraße</strasse>
</adresse>
<telefon>0381 / 5434-0</telefon>
<fax> 0381 / 5434-444</fax>
<anreisebeschreibung>Aus Richtung
Rostock kommend ...
</anreisebeschreibung>
</hotel>
Datenbanksysteme für FÜ WS 2004/2005
XML - 39
Volltext- und
Strukturindex
Begriff
Verweis
Element
Warnemünde *
*
Seestrasse
*
*
Rostock
*
*
Element
Worzyk
FH Anhalt
hotel
Ver
w eis
*
Ord
Vor
nung gänger
1
adresse
*
2
*
ort
*
3
*
strasse
*
3
*
anreise
*
bschreibung
2
*
<hotel
url=“http://www.hotel-huebner.de“
id=“h0001“
erstellt-am=“03/02/2003“
Autor=“Hans Müller“>
<hotelname>Hotel Hübner</hotelname>
<kategorie>4</kategorie>
<adresse>
<plz>18199</plz>
<ort>Warnemünde</ort>
<strasse>Seestraße</strasse>
</adresse>
<telefon>0381 / 5434-0</telefon>
<fax> 0381 / 5434-444</fax>
<anreisebeschreibung>Aus Richtung
Rostock kommend ...
</anreisebeschreibung>
</hotel>
Datenbanksysteme für FÜ WS 2004/2005
XML - 40
Anfragen
Volltextindex
hotel AND warnemünde
(hotel OR pension) AND (rostock OR warnemünde)
Volletxt- und Strukturindex
hotel.adresse.ort CONTAINS (“warnemünde“) AND
hotel.freizeitmoeglichkeit CONTAINS
(“swimming pool“)
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 41
Eigenschaften
Volltextindex
Schemabeschreibung
nicht erforderlich
Dokumentrekonstruktion
Dokument bleibt im
Original erhalten
- Information Retrieval
- SQL
Ausw ertung der Struktur
ist möglich
für dokumentzentrierte
Anw endungen
Anfragen
w eitere Besonderheiten
Einsatz
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 42
Generische Speicherung
Alle Informationen aus einem XML-Dokument werden
gespeichert
– einfache generische Speicherung
– Document Object Model
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 43
DocID Element
name
h0001 hotel
h0001 hotelname
h0001 kategorie
h0001 adresse
h0001 plz
h0001 ort
...
Worzyk
FH Anhalt
ID
101
102
103
104
105
106
Beispiel
Vor
gäng er
101
101
101
104
104
DocID Attribut
name
h0001 url
ID
h0001 id
...
102 101
Ord
nung
1
1
2
3
1
2
Wert
Hotel Hübner
4
18119
Warnemünde
Element Wert
101 101
http://www.hotelhuebner.de
h0001
Datenbanksysteme für FÜ WS 2004/2005
XML - 44
Document Object Model
Die Baumstruktur wird auf eine Klassenstruktur abgebildet
Speicherung in objektrelationalen oder objektorientierten
Datenbanken
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 45
Anfragen
• XPath
• QXuery
• XQL
– Abfragesprache der Software AG
• SQL
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 46
Eigenschaften
Generische Speicherung
Schemabeschreibung
nicht erforderlich
Dokumentrekonstruktion
möglich, aber aufw endig
Anfragen
- XQuery, XQL
- QL, das die Speicherstrukturen
berücksichtigt
Anfragen und Updates über DOM
möglich
für datenzentrierte,
semistrukturierte und
dokumentzentrierte Anw endungen
w eitere Besonderheiten
Einsatz
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 47
Abbildung auf Datenbankstrukturen
DTD oder Schema müssen vorhanden sein
automatische oder anwenderdefinierte Verfahren
Abbildung auf
relationale
objektrelationale
objektorientierte
Datenbanken
Worzyk
FH Anhalt
Datenbanksysteme für FÜ WS 2004/2005
XML - 48
Abbildung
XM L - Information
Element Root - Element
XM L - Element
Sequenz von Elementen
Alternative von Elementen
Element mit Qualifizierer ?
Element mit Qualifizierer +
oder *
komplex strukturiertes
Element
Attribut XM L - Attribut
#IM PLIED
#REQUIRED
Defaultw ert
Worzyk
FH Anhalt
Datenbankiformation
Relation
Attribut einer Relation
Attribute einer Relation
Attribute einer Relation
Attribut, Nullw ert möglich
SET oder LIST
ROW
Attribut einer Relation
Nullw ert nicht erlaubt
Nullw ert nicht erlaubt
Defaultw ert
Datenbanksysteme für FÜ WS 2004/2005
XML - 49
Beispiel
Hotelname url
Hotel
Hübner
id
erstellt-am
autor
http:// h0001 03/02/2003 Hans
M üller
kate fax
anreisebeschreibung
gorie
4
0381 Aus Richtung
Rostock
id
plz
ort
strasse
nummer
h0001
18119
Warnemünde
Seestrass
e
12
id
telefon
h0001 0381 / 5434 - 0
Worzyk
FH Anhalt
Ordnung
1
Datenbanksysteme für FÜ WS 2004/2005
XML - 50
Anfragen
• SQL mit
–
–
–
–
Worzyk
FH Anhalt
Joins
Aggregatfunktionen
Anfrageopimierung
Update
Datenbanksysteme für FÜ WS 2004/2005
XML - 51
Eigenschaften
Datenbankstrukturen
Schemabeschreibung
erforderlich
Dokumentrekonstrukti nur teilw eise möglich
on
Anfragen
- SQL und XM L
w eitere
Besonderheiten
Einsatz
Worzyk
FH Anhalt
Erhalt der Elementordnung
über zusätzliche Attribute
für datenzentrierte
Anw endungen
Datenbanksysteme für FÜ WS 2004/2005
XML - 52

XML - Fachbereich Informatik und Sprachen