Programming Assignment 4
XML Design using DTD and XML Schema

Due on Tuesday March 23 before midnight


Description

This project must be done individually. No copying is permitted. The goal of this project is to learn how to describe XML data using DTD and XML Schema. More specifically, you will use XML to describe data about an on-line auction system, create a sample XML document, describe it using DTD and XML Schema, and validate it.

Platform

You will do this project on your own PC/laptop. You may use a text editor to develop your schemas and XML data, but it would be easier if you just use Netbeans. In Netbeans, select New File, then XML, then XML Document, and then Well-Formed Document to develop a new XML document. To create a DTD or an XML Schema, select New File, then XML, then DTD Entity or XML Schema. In Netbeans, there is a way to generate a DTD automatically from an XML file: DON'T use it; you need to develop your DTD yourself.

Here are some examples:

You may validate your XML document against your DTD and XML Schema using Java, Netbeans, or your web browser.

Documentation

The following web pages provide some tutorials. Use them as a reference only.

Project Requirements

Consider an XML document that contains data about an on-line auction system, such as ebay. There are persons who can be sellers or buyers. Each person has a name phone, email, and address. There are items for sale, where each one has a unique id and one seller. For each item for sale, there is an opening (initial) price and there is a number of bids. Each bid is associated with a buyer and a bidding price.

  1. Create a DTD that captures all this information. Avoid data redundancies (do not duplicate pieces of data). You may use IDs/IDrefs in DTD.
  2. Create a small XML document that matches your DTD.
  3. Validate your XML document against your DTD.
  4. Create an XML Schema that matches your XML document.
  5. Validate your XML document against your XML Schema.

What to Submit

Use the form below to submit your files.

Submit Project #4:

Last modified: 03/09/10 by Leonidas Fegaras