Fortsetzung DTDs, UML  XML

Slides:



Advertisements
Ähnliche Präsentationen
Frame-Logik Eine Einführung Andreas Glausch.
Advertisements

Extensible Markup Language
Worzyk FH Anhalt Datenbanksysteme für FÜ WS 2004/2005 XML - 1 XML Extensible Markup Language.
Objektorientierter Entwurf (OOD) Übersicht
Dipl.- Dok. Rusalka Offer
Hands On – Einführung in XML
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
FH-Hof Einbindung von JavaScript Anweisungen
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Objektorientierte Programmierung
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Java: Grundlagen der Objektorientierung
DOM (Document Object Model)
Eine Biografie aus ADB/NDB als XML Datenbanken vs. Markup Prof Dr. Manfred Thaller WS 2009 / 2010 Referent: Bilal Erkin.
HTML - Eine erste Annäherung
XML-basierte Techniken
XML-Parser Manuel Röllinghoff.
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
Modularization of XHTML™
Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.
XML Standardisierungen und Abfragesprachen
Einführung XML XML Einführung Andreas Leicht.
Software-Technik: (fortgeschrittene) Klassendiagramme
Geoinformation III Vorlesung 13b XML-Schema.
RDF-Schema Seminar: „Semantic Web“ André Rosin,
1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik
XML und Datenbanken - Einführung in XML -
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Was versteht man unter XML Schema?
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
XML DTD.
Hyperlinks und Anker Links notieren
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation I Vorlesung 12 WS 2000/2001 Gerhard Gröger Modellierung mit Geodatabases.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Java für Fortgeschrittene
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Software-Technik: (fortgeschrittene) Klassendiagramme
Kurzpräsentation von Herbert Schlechta
Klassen und Klassenstruktur
XML-Schema UML  XML-Schema
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
Abbildung UML-Schema  Rel. Schema (1)
- Warum: Das HTML-Dilemma
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
Peter Brezany Institut für Softwarewissenschaften Universität Wien
Einführung in die Programmierung mit Java
Geoinformation3 Geoinformation III XML Grundlagen und Dokumentspezifikation Vorlesung 12b.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Dr. Thomas H. Kolbe Geoinformation III XML Grundlagen und Dokumentspezifikationen Vorlesung.
Geoinformation3 Geoinformation III XML Grundlagen, Namensräume und Hyperlinks Vorlesung 12b.
Java-Kurs Übung Besprechung der Hausaufgabe
Geoinformation3 Geoinformation III XML-Schema Vorlesung 13a.
Einführung in die Programmierung mit Java
Modellierung der Wirklichkeit
XML Grundlagen, Namensräume & Hyperlinks
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
DTD und W3C XML Schema Seminar XML und Datenbanken Vortrag: Sven Blüge.
XML – Grundlagen und Anwendungen Teil 4: Modellierung von Datenmodellen mit XML-Schema Prof. Dr. Michael Löwe, FHDW Hannover.
Ableitung UML  XML Schema
Sichtbarkeit einschränken
8.November 2006 ― 1Elektronisches Publizieren: XML Namespaces Kodierung strukturierter Dokumente im Web — XML Namespaces —
Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
13.Dezember 2006–1Elektronisches Publizieren: Schemasprachen — Relax NG Schemasprachen für XML — Relax NG — Anne Brüggemann-Klein TU München.
Fortsetzung DTDs, UML  XML
Validierung vom XML mit XML Schema
Fortsetzung DTDs, UML  XML
Geography Markup Language GML
Document Type Definitions (DTDs)
XML-Schema UML  XML-Schema
 Präsentation transkript:

Fortsetzung DTDs, UML  XML Geoinformation III Vorlesung 13a Fortsetzung DTDs, UML  XML

Übersicht über den dritten Vorlesungsblock 1 Übersicht über den dritten Vorlesungsblock 1. Offene Systeme, Rechnernetze und das Internet Die eXtensible Markup Language XML Grundlagen, Document Type Definitions (DTDs) 3. Fortsetzung DTDs, UML  DTD, Namensräume 4. XML Schema 5. Geographic Markup Language GML: der vom OpenGIS-Consortium als XML-Anwendung definierte Standard für Geo-Objekte

Attribut-Definition I 2 Attribut-Definition I Attribut-Definitionen spezifizieren die zu einem Element erlaubten Attribute mit ihren Datentypen. Syntax: für ein Element mit nur einem Attribut eine Zeile der Art: <!ATTLIST Elementname Attributname Attributtyp Option> Verschiedene Elemente dürfen gleichnamige Attribute besitzen. Für welches Element wird das Attribut definiert? Bezeichner des Attributs Welche Art von Daten sollen zuge-wiesen werden? A 3x

Attribut-Definition II 3 Attribut-Definition II <!ATTLIST Elementname Attributname1 Attributtyp1 Option1 Attributname2 Attributtyp2 Option2 . . . Attributnamen Attributtypn Optionn > Innerhalb eines Elementes müssen alle Attributnamen unterschiedlich sein. Attribut-Definitionen spezifizieren die zu einem Element erlaubten Attribute mit ihren Datentypen. Syntax: für ein Element mit mehreren Attributen ein Block der Art:

Attributtypen DTDs sehen zehn verschiedene Attributtypen vor: CDATA 4 Attributtypen DTDs sehen zehn verschiedene Attributtypen vor: CDATA NMTOKEN NMTOKENS Aufzählung ENTITY ENTITIES ID IDREF IDREFS NOTATION Auf diese Typen wird im Folgenden näher einge-gangen A 1x

Attributtyp: CDATA Ein Attribut vom Typ CDATA 5 Attributtyp: CDATA Ein Attribut vom Typ CDATA kann jeden Textstring enthalten <!ELEMENT Wild500 EMPTY> Variante 1: <!ATTLIST Wild500 Listenpreis CDATA #IMPLIED> Variante 2: <!ATTLIST Wild500 Listenpreis CDATA #REQUIRED> Attribut Element Attributtyp Attributliste optional erforderlich <Wild500 Listenpreis=“17000DM“/> 1 <Wild500/> 2 1 2 Für Variante 1 sind und für Variante 2 nur zulässig

Attributtyp: NMTOKEN (XML-Namens-Token) 6 Attributtyp: NMTOKEN (XML-Namens-Token) Ein Attribut vom Typ NMTOKEN darf folgende Zeichen enthalten alphanumerischen Zeichen ideographischen Zeichen Interpunktionszeichen ( _ ), ( - ), ( . ) und ( : ) keinerlei Leerzeichen Beispiel: <!ATTLIST Olympiade Eröffnung NMTOKEN #REQUIRED> <Olympiade Eröffnung=“21-07-2002“> Sport </Olympiade>

Attributtyp: NMTOKENS 7 Attributtyp: NMTOKENS Ein Attribut vom Typ NMTOKENS enthalten: Ein oder mehrere NMTOKEN, welche durch Leerzeichen getrennt sind Beispiel: <!ATTLIST Auftritte Tourdaten NMTOKENS #REQUIRED> <Auftritte Tourdaten=“21-08-2002 26-08-2002“> Die Fantastischen Vier </Auftritte>

Attributtyp: Aufzählung 8 Attributtyp: Aufzählung Ein Attribut vom Typ Aufzählung besteht aus durch | voneinander getrennter möglichen Werte für ein Attribut Attributwerte dürfen nur aus den aufgezählten Werten stammen Beispiel: <!ATTLIST datum monat (Januar | Februar | März | April) #REQUIRED tag (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10) #REQUIRED jahr (1979 | 1980 | 1981 | 1982 | 1983) #REQUIRED> <datum monat=“März“ tag=“2“ jahr=“1979“/> f <datum monat=“Januar“ tag=“02“ jahr=“1979“/> f <datum monat=“Januar“ tag=“2“ jahr=“1978“/>

Attributtyp: ID Ein Attribut vom Typ ID: 9 Attributtyp: ID Ein Attribut vom Typ ID: muss einen XML-Namen enthalten, der im Dokument eindeutig ist Beispiel: <!ATTLIST Abteilungsleiter Personalnummer ID #REQUIRED> <Abteilungsleiter Personalnummer=“_123-45-6789“> Jupp Zupp </Abteilungsleiter> Zahlen sind als ID-Werte problematisch, da sie keine XML-Namen sind. Deshalb muss ihnen z.B. ein Buchstabe oder Unterstrich vorangestellt werden.

Attributtyp: IDREF Ein Attribut vom Typ IDREF 10 Attributtyp: IDREF Ein Attribut vom Typ IDREF verweist auf ein Attribut vom Typ ID eines Elements im Dokument Beispiel: <!ATTLIST Abteilungsleiter Personalnummer ID #REQUIRED> <!ATTLIST Angestellter Vorgesetzter IDREF #REQUIRED> <Abteilungsleiter Personalnummer=“_123-45-6789“> Jupp Zupp </Abteilungsleiter> <Angestellter Vorgesetzter=“_123-45-6789“> Kurt Knecht </Angestellter>

Attributtyp: IDREFS Ein Attribut vom Typ IDREFS 11 Attributtyp: IDREFS Ein Attribut vom Typ IDREFS verweist auf die Attribute vom Typ ID mehrerer Elemente im Dokument IDs werden durch Leerzeichen voneinander getrennt Beispiel: <!ATTLIST Abteilungsleiter PersNr ID #REQUIRED Team IDREFS #REQUIRED> <!ATTLIST Angestellter PersNr ID #REQUIRED> <Abteilungsleiter PersNr=“C0815“ Team=“A911 A4711“> Jupp Zupp </Abteilungsleiter> <Angestellter PersNr=“A911“> Kurt Knecht </Angestellter> <Angestellter PersNr=“A4711>“ Rudi Rödler </Angestellter>

12 UML  XML U M L A 1x

12 UML  XML U M L A 1x

12 UML  XML M L A 1x

12 UML  XML X M L A 1x

13 Von UML zu XML (I) Objektorientierte Modellierung von Systemen und Datenstrukturen erfolgt heutzutage zumeist mittels UML-Diagrammen Für den Datenaustausch oder die Speicherung der Anwendungsdateien ist die Verwendung von XML sinnvoll Probleme: UML ist objektorientiert, XML elementorientiert Neben Klassen modelliert UML insbesondere auch Assoziationen XML besitzt kein direkt vergleichbares Konzept für Assoziationen (Einbettung von Kindelementen entspricht am ehesten der Aggregation) Keine 1:1-Abbildung von UML auf XML-Strukturen Abbildung von UML nach XML nicht eindeutig (mehrere Möglichkeiten) Festlegung auf Abbildungsvarianten sind sog. Entwurfsentscheidungen

Von UML zu XML (II) Landkarte UML XML Objekte Elemente Eindeutigkeit 14 Von UML zu XML (II) Landkarte UML XML Objekte Elemente Eindeutigkeit Attributtyp ID Kindelement(e), Attributtyp IDREF(S) Assoziation, Aggregation mit DTDs nicht möglich! Vererbung 1..* Polygon Linie Knoten 1,2 3..* 2..* 2 A 5x

Bestandteile werden durch Kindelemente repräsentiert 15 UMLXML: Aggregation Aggregation ist eine spezielle Assoziation, deren beteiligte Klassen eine Ganzes-Teile-Hierarchie darstellen DTD-Deklaration <!ELEMENT Polygon (Linie,Linie,Linie+)> <!ELEMENT Linie (#PCDATA)> 3..* Polygon Linie Ganzes Teil Bestandteile werden durch Kindelemente repräsentiert Beispiel XML-Datei <Polygon> <Linie>1</Linie> <Linie>2</Linie> <Linie>3</Linie> </Polygon>

UMLXML: Assoziation <!ATTLIST Linie Linien_ID ID #REQUIRED 16 UMLXML: Assoziation <!ATTLIST Linie Linien_ID ID #REQUIRED Knoten_IDs IDREFS #REQUIRED> <!ATTLIST Knoten Knoten_ID ID #REQUIRED Linien_IDs IDREFS #REQUIRED> Elemente erhalten ein eindeutiges Identifikationsattribut  Schlüssel Von jedem Element werden alle Verweise auf eine andere Klasse durch eine Menge von Referenzen (IDs der referenzierten Elemente) repräsentiert  Fremdschlüssel Linie Knoten 2..* 2

UMLXML: Assoziation P9 P4 P7 P3 L7 L1 L6 L5 L3 17 UMLXML: Assoziation P9 P4 P7 P3 L7 L1 L6 L5 L3 <!ATTLIST Linie Linien_ID ID #REQUIRED Knoten_IDs IDREFS #REQUIRED> <!ATTLIST Knoten Knoten_ID ID #REQUIRED Linien_IDs IDREFS #REQUIRED> <Linie Linien_ID=“L1“ Knoten_IDs=“P3 P7“ /> <Linie Linien_ID=“L3“ Knoten_IDs=“P7 P9“ /> <Linie Linien_ID=“L5“ Knoten_IDs=“P4 P7“ /> <Linie Linien_ID=“L6“ Knoten_IDs=“P4 P9“ /> <Linie Linien_ID=“L7“ Knoten_IDs=“P3 P9“ /> <Knoten Knoten_ID=“P3“ Linien_IDs=“L1 L7“ >100,100</Knoten> <Knoten Knoten_ID=“P4“ Linien_IDs=“L5 L6“ >250,200</Knoten> <Knoten Knoten_ID=“P7“ Linien_IDs=“L1 L3 L5“>200,100</Knoten> <Knoten Knoten_ID=“P9“ Linien_IDs=“L3 L6 L7“>150,200</Knoten> Linie Knoten 2..* 2

18 UMLXML: Vererbung Eine Vererbung, wie sie bei UML möglich ist, kann mit DTDs nur manuell nachgebildet werden. Geerbte Attribute von Oberklassen müssen in Unterklassen ausdrücklich noch einmal deklariert werden: <!ELEMENT Person (Name,Vorname)> <!ELEMENT Student (Name,Vorname,Matrikelnummer)> Person Name Vorname Attribute von Student: Name geerbt von Vorname Person Matrikelnummer } Student Matrikelnummer

19 UMLXML: Vererbung Eine Vererbung, wie sie bei UML möglich ist, kann in XML nur manuell nachgebildet werden. Person Name Vorname Nachteil: Keine echte Vererbung, da sich die Attribute der Unterklassen bei Veränderung der Oberklasse nicht automatisch mitändern. Eine weitere Lösungsmöglichkeit ist die Nutzung von XML-Schema (siehe nächste Vorlesung) Student Matrikelnummer

Beispiel Landkarten: 1. Möglichkeit (I) 20 Beispiel Landkarten: 1. Möglichkeit (I) <!ELEMENT Landkarte (Polygon+)> <!ELEMENT Polygon (Linie, Linie, Linie+)> <!ELEMENT Linie (Knoten, Knoten)> <!ELEMENT Knoten (EMPTY)> <!ATTLIST Knoten xKoord CDATA #REQUIRED yKoord CDATA #REQUIRED> Landkarte 1..* 2 Polygon 3..* Linie 2..* 2 Knoten