S511 Tech Foundations of Net-enabled Organizations

Assignment 1 - XML design and transformation

Due: Wed Sept 22 2004 by midnight

Objectives of this assignment

The primary objective of this assignment is to create an XML document and supporting files for the purpose of developing a structure for electronic project proposals

Detailed requirements

In this assignment, you will create an XML document containing Only the Data of an e-business catalog. Find an online shopping site that you use frequently, a site that shows catalogs of items and their descriptions, and allows you to search through them. Some sample sites include (you may use one of them, but really, find something that you like and use):

Notice that the URLs that I have above are not the top level site URL, but a listing page for a specific category of items. The above URLs have a major theme in common - they all show some information on a set of items, including prices, descriptions, possibly pictures, in different categories. Each item has a link that would take you to a detailed description of the item, that includes more information about the item. What you need to do is to first find a site that is similar to the above, pick one URL that displays a list of items and has links to their details. We are going to refer to this URL as the "source URL" for now.

You are going to create ONE XML document that includes tags to describe a number of such items from the website of your choice. You will need to look at different items to decide all the possible variations of the structure (note that items may be from different categories, with different information in each). Your document must be complete - i.e., it must combine the information in the brief views as well as detailed views. You should include about 8-10 items in your document showing the variations in the structure. All items should not be in one category, but pick one category with about 5 items (lets call this category "the favorite category"

For this assignment you are simply doing two things:
  1. Create a well-formed XML document with the data from the above pages. Remember that some items may have pictures - you should pick up the URLs of the pictures (use absolute URLs, otherwise you will not be able to display them later). Use the design methods discussed in class, or whatever you are comfortable with, to create the hierarchical structure of the catalog. Remember that your catalog must have a well-thought out hierarchy, with detailed information on the items that are almost never flat. Also remember that items from different categories would have different structures that you must model in your data. For example, a book would have different information from CDs or movies, jeans would have different information from shirts, weight sets would have different information from shoes. You should pick item categories that demonstrate this difference.
  2. Now create a DTD based on the structure of your document (if necessary, change the XML that you originally created to cope with the structure. (Some of you may even want to start from the DTD and then create the XML document.) Remember you are only trying to model the catalog items, not the layout, not the navigational cues in the website, not the commercials and so forth. Once you create the DTD, make sure your XML document is valid with this DTD. In the end, your XML document should be well formed and valid with respect to the DTD when you add the <!DOCTYPE ... > line.

Additional Items

In your XML document, include two special tags:

  1. <source> - this tag should have the URL of the source page where you obtained the data from.
  2. <declaration> - Inside this tag, you should enter the following text:

    I have neither given nor received unauthorized aid on this deliverable.

    Your stylesheets should display this declaration at the bottom of the page.

What to Submit

Before you are ready to submit, MAKE SURE YOU HAVE YOUR NAME and last 4 digits of your ID# on the top of every file (of course, you will need to put them inside comments. You will need to submit the following (follow the naming conventions exactly, otherwise you will not get the credit):

How to Submit

To submit your assignment, follow the steps below:


Individual assignment policy

This assignment is an individual assignment. You are to work on this assignment solely by yourself with no direct help from any other student in the class or outside. You are welcome to post your questions or doubts on the course discussion forums (on Oncourse) as long as that does not involve posting part of whole of your solution. You can email me your questions if you need someone to look at your code. You can ask a fellow student for small help such as help with fixing a parse error, or a doubt about a statement in the assignment. However, the following will be considered violation of the individual policy and you will be penalized if you violate this policy: