Lab 3: XML Schema and modification

Due: Tuesday Feb 21, at the start of class. 30 points

Please place a copy of your XML schema and your code in the cs682 submit directory. Also, please place a README in the submit directory that gives the URL referring to the location of your running resource.

In this lab, you'll develop an XML schema, and also extend the movie database program from the previous lab.

  1. (10 points) Implement an XML schema for the movie database developed for last week's lab. Your schema should indicaate that a movie must have exactly one title, one or more directors, zero or more actors, a length, and a year released. Rating and Genre should be optional. You may decide how you want to deal with datatypes for genre (whether you just want to use a string, or whether you'd rather have an enumeration, for example). You must be able to validate your database using a XSL validator such as this one.
  2. (20 points) Modify your code from lab 2 to use the DOM parser to add new entries and modify existing entries. Provide a Web-based interface to your code; a user should be able to load a URL and be presented with an interface that allows him or her to search for existing movies, change a movie's information, or add a new movie. Your program should use XML and CSS to display the results back to the user. The one non-negotiable requirement is this: your service must be persistent. That is, you must be able to put it online and leave it there indefinitely.

    At this point, your interface does not need to be very complex (although elegance is always encouraged), since we are only using CSS for the display.

    There are several possible ways to implement this, including the following: