Erstellen Sie im ersten Teil ein XML-Schema und ein XML-Instanzdokument. Sie dürfen dabei das Thema, Element- und Attributnamen samt Inhalten sowie die Struktur der Schema- und der Instanzdatei frei wählen, müssen dabei aber folgende Vorgaben einhalten:
http://www.dbai.tuwien.ac.at/education/ssd/SS10/uebung
lauten.<root>
besitzt ein Kindelement
<child>
, welches seinerseits selbst ein Kindelement <grandchild>
besitzt. Damit liegt das Element <grandchild>
zwei Ebenen unterhalb
des Wurzelelements <root>
.SimpleType
)ComplexType
), wobei folgende Fälle zu
erstellen sind:
ComplexType
)
global und verwenden Sie diesen komplexen Typ mindestens ein
Mal zur Definition eines Elements.date
.ID
und IDREF
nicht gestattet.
(Hinweis: Betrachten Sie die Funktionalität der key
- und keyref
-
Konstrukte von XML-Schema.)Das XML-Dokument soll die unterschiedlichen Möglichkeiten veranschaulichen und daher möglichst viele beschriebenen Einschränkungen abdecken (optionale Elemente, verschiedene Werte für Attribute etc.)
Beachten Sie, dass Sie alle oben angeführten Vorgaben umsetzen müssen, um die volle Punktezahl erhalten zu können.
Benennen Sie die Schemadatei mit beispiel2.xsd
und das Instanzdokument mit
beispiel2.xml
.
Überprüfen Sie Ihre Lösung mit dem Befehl
xmllint --schema beispiel2.xsd beispiel2.xml
.
beispiel2.xsd
, beispiel2.xml
Erstellen Sie im zweiten Teil eine Document Type Definition, die soweit wie möglich dieselbe Struktur für das XML-Instanzdokument vorgibt wie das XML-Schema, das Sie im ersten Teil erstellt haben.
Beachten Sie: Einige Funktionalitäten von XML-Schema lassen sich mittels einer DTD nur sehr umständlich oder gar nicht umsetzen. Welche Funktionen sind dies? Sie müssen in jedem dieser Fälle beim Abgabegespräch begründen können, warum die Umsetzung in der DTD nicht oder nur unzureichend möglich ist.
Benennen Sie die DTD mit beispiel2.dtd
.
Prüfen Sie die DTD gegen das XML-Dokument aus dem ersten Teil mit dem Befehl
xmllint --dtdvalid beispiel2.dtd beispiel2.xml
.
beispiel2.dtd
Die Beispiele müssen bis zum Abgabetermin auf unserem Server
(bordo.dbai.tuwien.ac.at) im Unterverzeichnis beispiel2
ihres Home-Verzeichnisses verfügbar sein (die Dateien werden automatisch
abgesammelt und den Tutorinnen und Tutoren zur Verfügung gestellt).
Insgesamt erstellen Sie also 3 Dateien (1-mal XML-Schema, 1-mal XML, 1-mal DTD).
Überprüfen Sie Ihre Abgabe direkt auf dem Server! Die notwendigen Tools sind installiert, und die Tutorinnen und Tutoren prüfen Ihre Abgabe ebenfalls direkt am Server. Laden Sie außer den Abgabedateien keine weiteren Dateien auf den Server!
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!