Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Extensible Markup Language
XML Extensible Markup Language
2
XML Metasprache Sprache, die Sprachen beschreibt
Sprachen beschreiben Formate zum Datenaustausch
3
Beispiel Hans Meyer Lohmannstrasse 23 06366 Köthen Dr. Else Müller
Bernburger Strasse 56
4
Beispiel Hans Meyer Lohmannstrasse 23 06366 Köthen Dr. Else Müller
Bernburger Strasse 56 <Patient> <Name> <Strasse> <Ort> </Patient> <Arzt> </Arzt> </Name> </Strasse> </Ort>
5
Aufbau von XML-Dokumenten
Prolog Deklaration der Dokumenttypen DTD (Document Type Definition) Elemente
6
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
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>
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.
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 "?> <!DOCTYPE Personen [ <!ELEMENT Personen (Patient,Arzt)> <!ELEMENT Patient (Name,Adresse)> <!ELEMENT Arzt (Name, Adresse)> <!ELEMENT Name (#PCDATA)> <!ELEMENT Adresse (#PCDATA)> ]>
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)>
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
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 CDATA: The value is character data (en1|en2|..): The value must be one from an enumerated list ID: The value is a unique id IDREF: The value is the id of another element IDREFS: The value is a list of other ids NMTOKEN: The value is a valid XML name NMTOKENS: The value is a list of valid XML names ENTITY: The value is an entity ENTITIES: The value is a list of entities NOTATION: The value is a name of a notation xml: : The value is a predefined xml value Defaultwerte: Value: The default value of the attribute #REQUIRED: The attribute value must be included in the element #IMPLIED: The attribute does not have to be included #FIXED value: The attribute value is fixed Worzyk FH Anhalt Datenbanksysteme 2 SS 2004 Seite
13
Kommentare Kommentare werden von <!– und --> eingeschlossen.
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
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
16
Parser Prü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>
17
DTD - Nachteile Wenige Datentypen
Beschreibung nicht in der XML - Syntax
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
19
XML Schema Vorteil gegenüber DTD
Erweiterbar um zukünftige Anwendungen in XML geschrieben Unterstützen Namesspaces xmlns:xs=" unterstützen Datentypen xs;date, xs;dateTime, xs:string
20
Anfragen an XML - Dateien
XPath XQuery
21
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.
22
Beispiel <spielfilme>
<film regie="Tom Tykwer" titel="Lola rennt"> <beschreibung> <name typ="w">Lola</name> rennt für <name typ="m">Manni</name>, der Mark liegengelassen hat und noch 20 Minuten Zeit hat, das Geld auszuliefern. </beschreibung> </film> </spielfilme>
23
Als Baumstruktur
24
Anfrage mit XPath /spielfilme/film/beschreibung/name
////name /spielfilme/film[regie ="Tom Tykwer" ]*
25
XQuery Anfragesprache für XML Daten benutzt Xpath Audrücke
Analogie zu SQL
26
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> <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 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> </bib>
27
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>
28
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>
29
XML - Dokumente in Datenbanken
datenzentriert dokumentzentriert semistrukturiert
30
Arten der Speicherung Speicherung als Ganzes
Generische Speicherung der Dokumentenstruktur Abbildung auf Datenbankstrukturen
31
Speicherung von XML-Dokumenten als Ganzes
Original in einem Dateien system oder als CLOB in der Datenbank Volltextindex Strukturindex
32
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 / </telefon> <fax> 0381 / </fax> <anreisebeschreibung>Aus Richtung Rostock kommend ... </anreisebeschreibung> </hotel>
33
Volltextindex <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 / </telefon> <fax> 0381 / </fax> <anreisebeschreibung>Aus Richtung Rostock kommend ... </anreisebeschreibung> </hotel>
34
Volltext- und Strukturindex
<hotel url=“ 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 / </telefon> <fax> 0381 / </fax> <anreisebeschreibung>Aus Richtung Rostock kommend ... </anreisebeschreibung> </hotel>
35
Anfragen Volltextindex Volletxt- und Strukturindex
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“)
36
Eigenschaften Volltextindex
37
Generische Speicherung
Alle Informationen aus einem XML-Dokument werden gespeichert einfache generische Speicherung Document Object Model generisch = dem Sachverhalt angepasst
38
Beispiel
39
Document Object Model Die Baumstruktur wird auf eine Klassenstruktur abgebildet Speicherung in objektrelationalen oder objektorientierten Datenbanken
40
Anfragen XPath QXuery XQL Abfragesprache der Software AG SQL
41
Eigenschaften Generische Speicherung
42
Abbildung auf Datenbankstrukturen
DTD oder Schema müssen vorhanden sein automatische oder anwenderdefinierte Verfahren Abbildung auf relationale objektrelationale objektorientierte Datenbanken
43
Abbildung
44
Beispiel
45
Anfragen SQL mit Joins Aggregatfunktionen Anfrageopimierung Update
46
Eigenschaften Daenbankstrukturen
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.