Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Extensible Markup Language

Ähnliche Präsentationen


Präsentation zum Thema: "Extensible Markup Language"—  Präsentation transkript:

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> http://www.inf.hs-anhalt.de/~Worzyk/Telemedizin/Beispiele/Parser.htm.", "width": "800" }

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="http://www.w3.org/2001/XMLSchema“ 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=“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>

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


Herunterladen ppt "Extensible Markup Language"

Ähnliche Präsentationen


Google-Anzeigen