Date post: | 05-Apr-2015 |
Category: |
Documents |
Upload: | steffen-schiller |
View: | 111 times |
Download: | 0 times |
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 1
XML
Extensible Markup Language
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 2
XML
• Metasprache– Sprache, die Sprachen beschreibt– Sprachen beschreiben Formate zum
Datenaustausch
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 3
Beispiel
Hans MeyerLohmannstrasse 2306366 KöthenDr. Else MüllerBernburger Strasse 5606366 Köthen
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 4
Beispiel
Hans MeyerLohmannstrasse 2306366 Köthen
Dr. Else MüllerBernburger Strasse 5606366 Köthen
<Patient> <Name> <Strasse> <Ort></Patient><Arzt> <Name> <Strasse> <Ort></Arzt>
</Name></Strasse></Ort>
</Name></Strasse></Ort>
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 5
Aufbau von XML-Dokumenten
• Prolog– Deklaration der Dokumenttypen– DTD (Document Type Definition)
• Elemente
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 6
Document Type DefinitionDTD
• 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
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 7
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>
http://www.inf.hs-anhalt.de/~Worzyk/Telemedizin/Beispiele/Patienten1.xml
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 8
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
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 9
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.
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 10
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
http://www.inf.hs-anhalt.de/~Worzyk/Telemedizin/Beispiele/Patienten3.xml
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 11
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)>http://www.inf.hs-anhalt.de/~Worzyk/Telemedizin/Beispiele/Patienten4.xml
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 12
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
Datenbanksysteme 2 SS 2004Seite 13 - 13
WorzykFH Anhalt
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
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 14
Kommentare
Kommentare werden von <!– und -->eingeschlossen.
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 15
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
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 16
Gültige XML-Datei
• Die Datei ist wohlgeformt• Der Datei ist eine DTD zugeordnet• Der Inhalt der Datei entspricht den
Regeln der zugeordneten DTD
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 17
ParserPrüfen, ob die XML-Datei gültig ist:
<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>
http://www.inf.hs-anhalt.de/~Worzyk/Telemedizin/Beispiele/Parser.htm
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 18
DTD - Nachteile
• Wenige Datentypen• Beschreibung nicht in der XML -
Syntax
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 19
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
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 20
XML SchemaVorteil 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
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 21
SyntaxSchema
Das <schema> Element ist die Wurzel eines XML Schema:
<?xml version="1.0"?><xs:schema>... ...</xs:schema>
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 22
SyntaxSchema
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>
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 23
SyntaxElemente
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>
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 24
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>
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 25
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">
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 26
Anfragen an XML - Dateien
• XPath• XQuery
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 27
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/
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 28
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>
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 29
Als Baumstruktur
http://de.selfhtml.org/xml/regeln/baumstruktur.htm
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 30
Anfrage mit XPath
/spielfilme/film/beschreibung/name
////name [@Typ=“w“]
/spielfilme/film[regie ="Tom Tykwer" ]*
http://www.w3schools.com/xpath/xpath_examples.asp
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 31
XQuery
• Anfragesprache für XML Daten• benutzt Xpath Audrücke• Analogie zu SQL
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 32
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>
</bib>
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 33
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>
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 34
FLWOR
For, Let, Where, Order by, Return
for $x in doc("books.xml")/bib/bookwhere $x/price>50order by $x/titlereturn $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>
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 35
XML - Dokumente in Datenbanken
XML - Dokumente• datenzentriert• dokumentzentriert• semistrukturiert
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 36
Arten der Speicherung
• Speicherung als Ganzes• Generische Speicherung der
Dokumentenstruktur• Abbildung auf
Datenbankstrukturen
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 37
Speicherung von XML-Dokumenten als Ganzes
Original in einem Dateien system oder als CLOB in der Datenbank
VolltextindexStrukturindex
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 38
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>
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 39
Volltextindex
Begriff Verweis
hotel * * *
Warnemünde *
Rostock *
ort * *
<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>
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 40
Volltext- undStrukturindex
Begriff Verweis Element
Warnemünde * *
Seestrasse * *
Rostock * *
<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>
Element Ver weis
Ord nung
Vor gänger
hotel * 1
adresse * 2 *
ort * 3 *
strasse * 3 *
anreise bschreibung
* 2 *
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 41
Anfragen
Volltextindexhotel AND warnemünde(hotel OR pension) AND (rostock OR warnemünde)
Volletxt- und Strukturindexhotel.adresse.ort CONTAINS (“warnemünde“) ANDhotel.freizeitmoeglichkeit CONTAINS (“swimming pool“)
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 42
EigenschaftenVolltextindex
Schemabeschreibung nicht erforderlich
Dokumentrekonstruktion Dokument bleibt im Original erhalten
Anfragen - Information Retrieval - SQL
weitere Besonderheiten Auswertung der Struktur ist möglich
Einsatz für dokumentzentrierte Anwendungen
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 43
Generische Speicherung
Alle Informationen aus einem XML-Dokument werden gespeichert– einfache generische Speicherung– Document Object Model
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 44
BeispielDocID Element
nameID Vor
gängerOrdnung
Wert
h0001 hotel 101 1h0001 hotelname 102 101 1 Hotel Hübnerh0001 kategorie 103 101 2 4h0001 adresse 104 101 3h0001 plz 105 104 1 18119h0001 ort 106 104 2 Warnemünde...
DocID Attributname
ID Element Wert
h0001 url 101 101 http://www.hotel-huebner.de
h0001 id 102 101 h0001...
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 45
Document Object Model
Die Baumstruktur wird auf eine Klassenstruktur abgebildet
Speicherung in objektrelationalen oder objektorientierten Datenbanken
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 46
Anfragen
• XPath• QXuery• XQL
– Abfragesprache der Software AG
• SQL
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 47
EigenschaftenGenerische Speicherung
Schemabeschreibung nicht erforderlich
Dokumentrekonstruktion möglich, aber aufwendig
Anfragen - XQuery, XQL - QL, das die Speicherstrukturen
berücksichtigt weitere Besonderheiten Anfragen und Updates über DOM
möglich Einsatz für datenzentrierte,
semistrukturierte und dokumentzentrierte Anwendungen
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 48
Abbildung auf Datenbankstrukturen
DTD oder Schema müssen vorhanden seinautomatische oder anwenderdefinierte
VerfahrenAbbildung auf
relationaleobjektrelationaleobjektorientierte
Datenbanken
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 49
Abbildung XML - Information Datenbankiformation Element Root - Element Relation XML - Element Attribut einer Relation Sequenz von Elementen Attribute einer Relation Alternative von Elementen Attribute einer Relation Element mit Qualifizierer ? Attribut, Nullwert möglich Element mit Qualifizierer +
oder * SET oder LIST
komplex strukturiertes Element
ROW
Attribut XML - Attribut Attribut einer Relation #IMPLIED Nullwert nicht erlaubt #REQUIRED Nullwert nicht erlaubt Defaultwert Defaultwert
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 50
BeispielHotelname url id erstellt-am autor kate
gorie fax anreisebeschreibung
Hotel Hübner
http:// h0001 03/02/2003 Hans Müller
4 0381 Aus Richtung Rostock
id plz ort strasse nummer
h0001 18119 Warnemünde Seestrasse
12
id telefon Ordnung
h0001 0381 / 5434 - 0 1
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 51
Anfragen
• SQL mit– Joins– Aggregatfunktionen– Anfrageopimierung– Update
WorzykFH Anhalt
Datenbanksysteme für FÜ WS 2004/2005XML - 52
EigenschaftenDatenbankstrukturen
Schemabeschreibung erforderlich
Dokumentrekonstruktion
nur teilweise möglich
Anfragen - SQL und XML
weitere Besonderheiten
Erhalt der Elementordnung über zusätzliche Attribute
Einsatz für datenzentrierte Anwendungen