Skip to Content

TU Wien Fakultät für Informatik DBAI Database and Artificial Intelligence Group
Top-level Navigation: Current-level Navigation:

Path: DBAI > Education > Semistrukturierte Daten > Übung

Tools: Drucken


Beispiel 2

Aufgabenstellung

Document Type Definition

Im ersten Teil der Aufgabe erstellen Sie eine DTD und ein XML Dokument nach einer gegebenen Struktur.

Erstellen Sie eine DTD die einen Fußballverein in XML abbildet:

Erstellen Sie weiters ein XML Dokument das der beschriebenen DTD entspricht und fügen Sie fünf Spieler ein.

Das XML Dokument soll die unterschiedlichen Möglichkeiten veranschaulichen und daher möglichst viele der beschriebenen Einschränkungen abdecken (optionale Elemente, verschiedene Werte für Attribute etc.).

Überprüfen Sie Ihre Lösung mit:

xmllint --dtdvalid verein.dtd verein.xml

bzw. mit

xmllint --valid verein.xml

wenn Sie die DTD im XML verknüpft haben.

Document Type Definition + Namespaces

Im zweiten Teil der Aufgabe erweitern Sie die DTD und das XML Dokument aus dem vorigen Beispiel um Namespaces.

Ändern Sie die DTD verein.dtd so ab, dass alle Elemente im Namespace http://www.dbai.tuwien.ac.at/fussball mit dem Prefix dbai liegen (Sie dürfen hier keinen Default-Namespace verwenden). Die Attribute sollen im leeren Namespace liegen.

Überprüfen Sie Ihre Lösung mit:

xmllint --dtdvalid verein-ns.dtd verein-ns.xml

bzw. mit

xmllint --valid verein-ns.xml

wenn Sie die DTD im XML verknüpft haben.

XML Schema

Für den dritten Teil der Aufgabe erstellen Sie eine XML Schema Definition die bis auf folgende Punkte äquivalent zur DTD mit Namespaces aus dem vorigen Beispiel ist:

Tipp: sehen Sie sich zu den Namespaces die Folien zu elementFormDefault und attributeFormDefault an.

Prüfen Sie die Schema Definition gegen das XML Dokument aus dem vorigen Beispiel:

xmllint --schema verein-ns.xsd verein-ns.xml

XML Schema Zusatzfrage

Ändern Sie die XML Schema Definition und die XML Datei aus den vorigen Beispielen so ab, dass das Subelement name von spieler im Namespace http://xmlns.com/foaf/0.1/ liegt und das Subelement name von news im leeren Namespace liegt. Verwenden Sie dazu folgende XML Schema Definition für das spieler/name Element: foaf.xsd.

Tipp: sehen Sie sich include und import genauer an.

Prüfen Sie die Schema Definition gegen das XML Dokument:

xmllint --schema verein-ns-foaf.xsd verein-ns-foaf.xml

Abgabe beim Tutor

Die Beispiele müssen bis zum Abgabetermin auf unserem Server (minteka.dbai.tuwien.ac.at) im Unterverzeichnis Beispiel2 verfügbar sein (die Dateien werden automatisch abgesammelt und den Tutoren zur Verfügung gestellt).

Insgesamt erstellen Sie also 7 Dateien (2 x DTD, 3 x XML, 2 x Schema).

Überprüfen Sie Ihre Abgabe direkt auf dem Server! Die notwendigen Tools sind installiert, und die Tutoren prüfen Ihre Abgabe ebenfalls direkt am Server. Laden Sie außer den Abgabedateien keine weiteren Dateien auf den Server!

Bewertung

Für das Beispiel 2 werden maximal 10 Punkte vergeben. Im Rahmen des Kontrollgespräches wird nicht nur die Korrektheit, sondern vor allem das Verständnis der Technologien kontrolliert.

Die volle Punktezahl gibt es nur wenn das Beispiel korrekt gelöst ist und die Lösung erklärt werden kann. Nicht selbstständig gelöste Abgaben werden jedenfalls mit 0 Punkten bewertet!


Home / Kontakt / Webmaster / Offenlegung gemäß § 25 Mediengesetz: Inhaber der Website ist das Institut für Logic and Computation an der Technischen Universität Wien, 1040 Wien. Die TU Wien distanziert sich von den Inhalten aller extern gelinkten Seiten und übernimmt diesbezüglich keine Haftung. Disclaimer / Datenschutzerklärung