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:
- 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.
- 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:
<source> - this tag should have the URL of the source
page where you obtained the data from.
<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):
items.xml: The basic XML file which is well-formed only.
items.dtd: The DTD for the XML document.
items-dtd.xml: The same XML file with the appropriate
<!DOCTYPE.. > that validates with your DTD.
How to Submit
To submit your assignment, follow the steps below:
- Point your web browser to Our Assignment handin page,
- Enter your email address (has to be the full email address, not just the USERID), and your student ID or SSN (without any dashes or spaces) in the appropriate boxes,
- Upload the files in the 3 boxes shown,
- Click on "Submit Assignment", and wait until you get the
confirmation page. This may take a couple of minutes - do not
click multiple times. The system will display a confirmation
page.
- You are not done yet! Check your email for a confirmation email from
the submission system. It may take upto 5 minutes for you to receive the confirmation
email. Make sure you read and understand the email, including the information
that it gives you. Do not assume that your assignment submission was successful
until you receive an email with no error message. Look in particular for the
file "CompilationErrors". If it says "Empty file!" for this, or if it simply
shows a summary of the number of elements, attributes and characters parsed
for your files, you are fine. If any parse errors are shown, you will need
to fix them. Your assignment will be severly penalized if you have parse errors.
- You may submit as many times as you would like - future
submissions will overwrite any file submitted with the same
name. If you change only one file, you can submit only that
file. The confirmation message will include all files submitted
so far. Keep a copy of the confirmation message. This will be
proof that your submission was successful in the case of a
system glitch later.click on "Submit assignment".
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:
- Emailing part or all of your code to a fellow student
- Posting your work on a website, ftp site, group discussion site, or any other site where anyone in addition to yourself has access
- Giving hardcopy of your code to a fellow student
- Asking a fellow student for part or all of their code
- Looking at another student's work while he/she is on a terminal