1 / 46

XML

XML. Extensible Markup Language. XML. Metasprache Sprache, die Sprachen beschreibt Sprachen beschreiben Formate zum Datenaustausch. Beispiel. Hans Meyer Lohmannstrasse 23 06366 Köthen Dr. Else Müller Bernburger Strasse 56 06366 Köthen. <Patient> <Name> <Strasse> <Ort>

sidney
Télécharger la présentation

XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 06366 Köthen

  4. <Patient> <Name> <Strasse> <Ort> </Patient> <Arzt> <Name> <Strasse> <Ort> </Arzt> </Name> </Strasse> </Ort> </Name> </Strasse> </Ort> Hans Meyer Lohmannstrasse 23 06366 Köthen Dr. Else Müller Bernburger Strasse 56 06366 Köthen Beispiel

  5. Aufbau von XML-Dokumenten • Prolog • Deklaration der Dokumenttypen • DTD (Document Type Definition) • Elemente

  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

  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

  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-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

  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)> http://www.inf.hs-anhalt.de/~Worzyk/Telemedizin/Beispiele/Patienten4.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

  12. Worzyk FH 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 Datenbanksysteme 2 SS 2004 Seite 13 - 12

  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

  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 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

  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. http://www.informatik.hu-berlin.de/~obecker/obqo/w3c-trans/xpath-de-20010702/

  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 100000 Mark liegengelassen hat und noch 20 Minuten Zeit hat, das Geld auszuliefern. </beschreibung> </film> </spielfilme>

  23. Als Baumstruktur http://de.selfhtml.org/xml/regeln/baumstruktur.htm

  24. Anfrage mit XPath /spielfilme/film/beschreibung/name ////name [@Typ=“w“] /spielfilme/film[regie ="Tom Tykwer" ]* http://www.w3schools.com/xpath/xpath_examples.asp

  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> <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>

  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 XML - Dokumente • 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 / 5434-0</telefon> <fax> 0381 / 5434-444</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 / 5434-0</telefon> <fax> 0381 / 5434-444</fax> <anreisebeschreibung>Aus Richtung Rostock kommend ... </anreisebeschreibung> </hotel>

  34. Volltext- undStrukturindex <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>

  35. 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“)

  36. EigenschaftenVolltextindex

  37. Generische Speicherung Alle Informationen aus einem XML-Dokument werden gespeichert • einfache generische Speicherung • Document Object Model

  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. EigenschaftenGenerische 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. EigenschaftenDaenbankstrukturen

More Related