XML - Grundlagen, Prinzipien und Anwendungen

Veranstaltung im Sommersemester 2006

Aufgabe 6 - XML Schema

Abgabe bis 30.5.2006


Motivation

Ziel dieser Aufgabe ist es, ein umfangreicheres XML-Schema zu erstellen und eine Datenstruktur für eine tatsächlich mögliche Anwendung zu modellieren. Wichtige Elemente dabei sind die Erweiterung von komplexen Typen, key und keyref-Beziehungen und Facets. Als Hilfe bei der Modellierung der Datentypen sei der XML Schema Primer empfohlen.


Aufgabenstellung

    Aufgabe Tips
1. Im ersten Teil der Aufgabe geht es darum, dass eine Firma CDs und DVDs via Internet verkaufen will und dafür einen Online-Shop braucht. Unser Beitrag zu dem Projekt besteht darin, eine passende Datenstruktur in Form eines XML-Schemas bereitzustellen.
Bei CDs sind vor allem Angaben wie Genre, Titel des Albums, Erscheinungsjahr, Preis und wahlweise Band mit ihren Mitgliedern oder Solokünstler wichtig, bei DVDs Genre, Titel des Films, Erscheinungsjahr, Preis, Schauspieler, die in dem Film vorkommen und wer Regie geführt hat.
Unsere Firma braucht natürlich zusätzlich die Information, über welchen Distributor sie das Produkt beziehen kann. Da 50 % der Distributoren in den USA und 35 % in Grossbrittanien ansässig sind, wünscht sich unsere Firma, dass wir in unserer Datenstruktur die Besonderheiten des Adressenformats in den USA und in GB berücksichtigen.
Die Internetkunden, die später den Shop benutzen wollen, sind natürlich besonders an den Querverweisen interessiert, wollen also z.B. sehen können, welche anderen CDs unser Shop von einem bestimmten Künstler im Programm hat oder in welchen anderen Filmen ein Schauspieler mitgespielt hat, das sollten wir durch entsprechende Indexstrukturen unterstützen.
Da sowohl die Internetkunden, als auch die Mitarbeiter, die für die Dateneingabe zuständig sind, häufig Eingabefehler machen, sollten wir bei der Definition unserer Datentypen möglichst restriktiv sein.
Es bietet sich an, CDs und DVDs von einem gemeinsamen Produkttyp erben zu lassen.
Eine Besonderheit bei den Adressenangaben sind die Postleitzahlen. XML-Schema bietet die Möglichkeit, Strings durch sogenannte Regular Expressions (RegExes) validieren zu lassen. Ein recht gut passender RegEx für das Postleitzahlensystem in den USA ist beispielsweise [0-9]{5}(-[0-9]{4})?. Auch für das UK-System ist es möglich, solch ein RegEx aufzustellen. RegEx Tutorial, UK Postcode Explanation
Da manche Künstler natürlich z.B. nicht nur Schauspieler sind, sondern auch Regisseure sein können oder eine Musik-CD herausgebracht haben können, sollte man Personen eigenständig ablegen und bei den CDs und DVDs nur Referenzen auf Personen angeben.
Zu den Querverweisen sollte man sich überlegen, welche Referenzen nötig sind, um z.B. eine Navigation möglich zu machen, die von einer CD über einen Solokünstler zu einer Liste von Filmen führt, in denen dieser Künstler mitgespielt hat.
2. Zu dem in Teilaufgabe 1. erstellten Schema soll nun ein Beispieldokument erstellt werden um den Projektleiter des Webdesignerteams von unserem Datenmodell zu überzeugen. Jede Kategorie von Entitäten sollte mindestens 3 Exemplare haben. Besonders überzeugend wird unser Beispieldokument natürlich dann, wenn es tatsächlich Navigation unterstützt, also mehrere CDs einer Band beinhaltet sowie Personen, die sowohl in Filmen mitgespielt haben, als auch CDs herausgebracht haben.

Abgabe

Die Abgabe besteht darin, dass ihr das XML Schema-Dokument sowie das entsprechende Beispieldokument an den Betreuer mailt, am besten durch Klick auf den Abgabe Übung 6 Link.

Dabei sind die folgenden Punkte zu beachten:

  1. Das XML Schema muss gültig sein (wie immer zu testen mit dem SQC).
  2. Die in der Aufgabenstellung enthaltenden Anforderungen müssen umgesetzt sein, d.h. die in der Beschreibung direkt angesprochenden Angaben sollen im Schema enthalten sein. Insbesondere muss im Schema mindestens einmal die Vererbung von Typen angewandt werden, sowie mindestens eine Regular Expression.
  3. Das XML-Dokument muss schemakonform sein. (XML Schema Validator)

please send comments to xml-vl@dret.net
last modification on Tuesday, 16-May-2006 14:50:16 CEST
valid CSS!valid XHTML 1.0!