XML, XML-DTDs, und XML Schema

Ähnliche Dokumente
XML exemplarisch. nach: André Bergholz, Extending Your Markup: An XML Tutorial IEEE Internet Computing, Jul./Aug. 2000, 74 79

XML-Schema Datentypen

DTDs und XML-Schema. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

XML-Übersicht. Von HTML zu XML

XML-Übersicht. Von HTML zu XML. Nutzen von XML. Geschichte von XML. Eigenschaften von XML. Nutzen von XML (extensible Markup Language)

XML-Schema. Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

Warum XML-Schema? XML-Schema DTD

Kapitel 2. Markup. Language. XML-Dokumente. XML Document Type Definition XML Namespaces Schemadefinitionssprache für XML.

Klausur zur Vorlesung Einführung in XML

Deklaration standalone="yes" Quelle:

Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis

2. Klausur Web-basierte Informationssysteme SS 2016

Semantic Web Technologies I

DTDs und XML- Schemata

XML-Schema im Detail. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

ER-Diagramm (10 Punkte)

Hauptseminar Informatik. Die Strukturierung von XML-Dokumenten mit Hilfe von DTDs und XML Schema

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Klaus Schild, Klaus Schild, Element-Deklaration: 1. Möglichkeit

Der Standard SQL/XML

Beuth Hochschule Verschiedene Bestandteile einer XML-Datei WS10/11

Klausur zur Vorlesung Einführung in XML

Definition von Datentypen mit XML- Schemata

XML Schema Import for the Pathfinder XQuery Compiler

Aufgabe 5.1: (a) Lösung:

Lösungen zum Praktikum XML-Technologien XML-Grammatiken

XML Grammatiken und XForms

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

2a) Rekursion (zugeschnitten auf Anfrage) (C) Prof. E. Rahm Universität Leipzig

Konzeptionelle Modellierung von XML-Dokumenttypen

Übung 2: XML / XQuery

XML Schema vs. Relax NG

<< Java Architecture for XML Binding >>

XML Schema 2016 S h_da S Seite 1

Repräsentation von Struktur

(a) Erstellen Sie für die Web-Veröffentlichung eines Artikels die Meta-Informationen nach dem Dublin-Core-Standard.

Musterlösung Übungsblatt 14

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Semistrukturierte Daten

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Semistrukturierte Daten

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

3. Generische Strukturierung von XML-Dokumenten

Tutorial 3 Einführung in XML

PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

PRÜFUNG IN SEMI-STRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

XML (Extensible Markup Language)

DBE Übung 2. Übung 2: XML / XQuery

XSD-Datei(en) Inhalt. Referenzierung eines Schemas ohne Target Namespace VU Semistrukturierte Daten 1. XML Schema

WI/WE - WEB ENGINEERING

PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Mario Jeckle. XML Schema

Erhöhung der Datenqualität in XML-Dokumenten von Desktop Applikationen. Alexander Hilliger von Thile - REI/ID

Nonstandard Datenbanken

Eine Dokumenttypdefinition lässt sich im Kopfbereich des XML-Dokumentes (interne DTD) oder in einer separaten Datei formulieren (externe DTD).

<UL> <LI> Curie <LI> Sokrates </UL> & '$ "( % # ) * + ",+ <UL> <LI> Mäeutik <LI> Bioethik </UL> ) -. / 0

Einführung in die Informatik

Beispiel für die Verwendung von Namespaces. Namespaces. Namespaces Erläuterung (1) Namespaces Erläuterung (2)

DTD: Syntax-Zusammenfassung

Grundlagen der Informatik

Musterlösung des Übungsblattes 2

Gliederung. Service Oriented Architecture - XML Technologies. 1 von 11

Document Type Definition (DTD)

PRÜFUNG IN SEMI-STRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

<B1>Skript</B1> Skript zur Vorlesung Auszeichnungssprachen Stand: September 2016

XML-Schema. Einordnung

Zusammenfassung M. Rigling 1/22 Version 1.0

Seminar XML und Datenbanken. Thema: Workflow

Ergänzung zur Spezifikation OSCI 1.2-

Programmieren mit Java II

Vorlesung Werkzeuge der Informatik

Einführung in die Informatik

Aufgabe 2: Software-Architektur [35]

XML Schema 2012/2013 S Seite 1 h_da W

XML und deren Anwendung 1 XML

XML Eine Einführung XML Dokumente Erstellen

PROBEKlausur XML-Technologien, Sommersemester 2011 Matrikelnummer Vorname. korrigiert von Gesamtpunktzahl von 30 Note

OSCI-Transport 1.2 Korrigenda 02/2008 Status: Final OSCI Leitstelle

Aufgaben eines Codegenerators

Semistrukturierte Datenmodelle. XML Datenmodelle. XML Infoset. OEM Beispielbaum. Document InfoItem. Beispiel

Chapter 8 XML Data Modeling

XML. Steffen Staab ISWeb Informationssysteme & Semantic Web

Herbstsemester Januar Datenbanksysteme II

1. Klausur Web-basierte Informationssysteme SS 2010

XML steht für Extensible Markup Language. Helmut Vonhoegen (2007) beschreibt XML unter anderem so:

1 Was ist XML? Hallo XML! Kommentare in XML 52

W3C s XML Schema Die Sprache der Sprachen Mario Jeckle DaimlerChrysler Forschungszentrum Ulm

Kapitel 7 SQL/XML. Teil des zukünftigen Datenbankstandards SQL:2003. Der Basisdatentyp XML Abbildung zwischen SQL und XML SQL und XQuery

Vorlesung Datenbanken II SS 2006

2. Einführung in Datenbanken und XML

XML Schema-Sprachen 04

Konzeptpapier Schnittstelle zwischen TischtennisLive und MKTT

Modell/Metamodell. Generated Source Code. Generator. Model. Fakultät für Informatik und Wirtschaftsinformatik MDSD - SS 2014

XML RSS. 1. Einführung 2. Syntax 3. Eigenschaften 4. Validierung 5. Fazit. 1. Einführung 2. Struktur 3. Fazit. Seite 2

Michel Messerschmidt Diplomarbeit. Entwurf einer Sprache zur Klassifizierung von Malware-Vorfällen

XML-Datenmodellierung und Web-Services

Datenaustauschformate. Datenaustauschformate - FLV

Transkript:

Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Institut für Informationssysteme Dr. C. Türker XML und Datenbanken WS 03/04 Übung 3 Beispiellösung XML, XML-DTDs, und XML Schema Aufgabe 1: Gültige XML-Dokumente Gegeben sei die folgende DTD Bookstore.dtd. <!ELEMENT bookstore (book)*> <!ELEMENT book (title, author+, price?, review*)> <!ATTLIST book genre CDATA #REQUIRED> <!ELEMENT title <!ELEMENT author (name (firstname, lastname))> <!ELEMENT price <!ELEMENT name <!ELEMENT firstname <!ELEMENT lastname <!ELEMENT review (reviewer, reviewtext)> <!ATTLIST review date CDATA #IMPLIED> <!ELEMENT reviewer (name (firstname, lastname))> <!ELEMENT reviewtext ANY> Überprüfen Sie, ob das folgende XML-Dokument wohlgeformt und gültig bezüglich dieser DTD ist. Ändern Sie gegebenenfalls das Dokument so ab, dass es sowohl wohlgeformt als auch gültig ist. <!DOCTYPE bookstore SYSTEM "Bookstore.dtd"> <bookstore> <title>data on the Web: From Relations to Semistructured Data and XML. </title> <name>serge</name> <name>abiteboul</name> 1

<firstname>peter</firstname> <lastname>buneman</lastname> <name>dan Suciu</name> <name>torsten Grabs</name> Ich habe das Buch gelesen und es zeigt einige Konzepte sehr schön. <emph>allerdings ist es schon etwas älter.</emph> <name>ein Student</name> Wenn <name>herr Türker</name> davon <it>sooo</it> begeistert ist, dann muss man das ja gelesen haben. <price>20,00 <currency>chf</currency></price> <title>xml und Datenbanken</title> <name>m. Klettke und H. Meyer</name> <name>can Türker</name> Viele Aspekte der Vorlesung werden von diesem Buch abgedeckt. </bookstore> Das Dokument ist schon wohlgeformt, gültig bezüglich der vorgegebenen DTD ist dann das 2

nachfolgend angegebene Dokument. XML-Kommentare im Dokument erläutern die wichtigsten Anpassungen. <!DOCTYPE bookstore SYSTEM "Bookstore.dtd"> <bookstore> <title> Data on the Web: From Relations to Semistructured Data and XML. </title> <!-- keine mehrfachen Vorkommen des name-elements in author --> <firstname>serge</firstname> <lastname>abiteboul</lastname> <firstname>peter</firstname> <lastname>buneman</lastname> <name>dan Suciu</name> <!-- Dokumentordnung: price muss nach author vor reviews kommen --> <price> 20,00 CHF </price> <name>torsten Grabs</name> <!-- in ANY sind nur Sub-Elemente erlaubt, die in der DTD definiert sind --> Ich habe das Buch gelesen und es zeigt einige Konzepte sehr schön. Allerdings ist es schon etwas älter. <name>ein Student</name> <!-- in ANY sind nur Sub-Elemente erlaubt, die in der DTD definiert sind --> Wenn <name>herr Türker</name> davon SOOO begeistert ist, dann muss man das ja gelesen haben. 3

<title>xml und Datenbanken</title> <name>m. Klettke und H. Meyer</name> <name>can Türker</name> Viele Aspekte der Vorlesung werden von diesem Buch abgedeckt. </bookstore> Aufgabe 2: Entwurf von XML DTDs Abbildung 1: Modell einer Auktionsdatenbank in RMSDM-Notation Setzen sie das Modell der Auktionsdatenbank aus Abbildung 1 möglichst genau in eine XML- DTD um. Welche Sachverhalte konnten Sie in der DTD nicht umsetzen? Die folgende DTD gibt das RMSDM-Modell aus Abbildung 1 wieder. Nicht modelliert werden konnte die Sub-Typ-Beziehung zwischen auction und closed auction. Hierzu müsste man statt XML DTDs zu verwenden auf XML Schema zurückgreifen, das die Modellierung von 4

Subtyp-Beziehungen unterstützt. Neu hinzugekommen ist auch die Dokumentordnung in den gültigen XML-Dokumenten. Das RMSDM-Modell hat beispielsweise nicht explizit vorgesehen, dass address bei einer Person vor balance erscheint. <!ELEMENT store (name, persons, auctions)> <!ELEMENT name <!ELEMENT persons (person)*> <!ELEMENT auctions (auction closed_auction)*> <!ELEMENT person (name, address, balance?)> <!ATTLIST person pid ID #REQUIRED> <!ELEMENT auction (bid*, item)> <!ELEMENT closed_auction (bid*, item, price)> <!ATTLIST closed_auction buyer IDREF #REQUIRED> <!ELEMENT address <!ELEMENT balance <!ELEMENT price <!ELEMENT bid <!ATTLIST bid bidder IDREFS #REQUIRED> <!ELEMENT item Aufgabe 3: XML Schema Setzen Sie die folgende XML DTD für eine Buch-Datenbank möglichst genau nach XML Schema um. <!ELEMENT bookstore (book)*> <!ELEMENT book (title, author+, price?)> <!ATTLIST book genre CDATA #REQUIRED> <!ELEMENT title <!ELEMENT author ( name (firstname, lastname))> <!ELEMENT price <!ELEMENT name <!ATTLIST price currency (CHF EUR USD) #REQUIRED> <!ELEMENT firstname <!ELEMENT lastname Eine Möglichkeit, die DTD nach XML Schema umzusetzen ist die folgende: <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/xmlschema"> <xsd:annotation> 5

<xsd:documentation xml:lang="en"> Bookstore Example, ETH Zurich, 2001 </xsd:documentation> </xsd:annotation> <xsd:element name="bookstore" type="bookstore"/> <xsd:complextype name="bookstore"> <xsd:sequence> <xsd:element name="book" type="book" minoccurs= 1 maxoccurs="unbounded"/> </xsd:sequence> <xsd:complextype name="book"> <xsd:sequence> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="author" minoccurs= 1 maxoccurs="unbounded"/> <xsd:element name="price" minoccurs= 0 > <xsd:complextype> <xsd:simplecontent> <xsd:extension base="xsd:decimal"> <xsd:attribute name="currency" type="currency"/> </xsd:extension> </xsd:simplecontent> </xsd:element> </xsd:sequence> <xsd:attribute name="genre" type="genre"/> <xsd:simpletype name="genre"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="autobiography"/> <xsd:enumeration value="novel"/> <xsd:enumeration value="philosophy"/> </xsd:restriction> </xsd:simpletype> <xsd:complextype name="author"> <xsd:choice> <xsd:element name="name" type="xsd:string"/> <xsd:group ref="fullname"/> </xsd:choice> <xsd:group name="fullname"> <xsd:sequence> <xsd:element name="firstname" type="xsd:string"/> 6

<xsd:element name="lastname" </xsd:sequence> </xsd:group> type="xsd:string"/> <xsd:simpletype name="currency"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="chf"/> <xsd:enumeration value="eur"/> <xsd:enumeration value="usd"/> </xsd:restriction> </xsd:simpletype> </xsd:schema> 7