Programming Assignment #7
Using XQuery

Due on Tuesday April 8 before midnight.


Description

The purpose of this project is to learn XQuery.

This project must be done individually. No copying is permitted. Note: We will use a system for detecting software plagiarism, called Moss, which is an automatic system for determining the similarity of programs. That is, your program will be compared with the programs of the other students in class as well as with the programs submitted in previous years.

Note that, if you use a Search Engine to find similar programs on the web, we will find these programs too. So don't do it because you will get caught and you will get an F in the course (this is cheating). Don't look for code to use for your project on the web or from other students (current or past). Just do your project alone using the help given in this project description and from your instructor only.

Platform

You will do this project on your own PC/laptop. You will use Zorba, which is a free implementation of XQuery.

Put all XQueries in a file "queries.xq" and use the Zorba Command Line Utility to evaluate the XQueries.

Documentation

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

Project Requirements

Consider the following XML document along with its DTD that describes auctions:

auction.zip (the zipped XML document)
It contains synthetic data (automatically generated). The words for text paragraphs are taken from Shakespeare's plays. There is also a DTD (the link is not broken; use Save As to save it) for the XML file but it is not very useful. Express the following queries using XQuery and run them against the file auction.xml using Zorba:
  1. Print the number of items listed on all continents.
  2. List the names of items registered in Europe along with their descriptions.
  3. List the names of persons and the number of items they bought.
  4. List all persons according to their interest (ie, for each iterest category, display the persons on that category).
  5. Group persons by their categories of interest and output the size of each group.
  6. List the names of persons and the names of the items they bought in Europe.
  7. Give an alphabetically ordered list of all items along with their location.
  8. List the reserve prices of those open auctions where a certain person with id person3 issued a bid before another person with id person6.

What to Submit

Use the form below to submit your XQuery file (or you may zip all XQuery files and submit the zipped file).

Submit Project #7:

Last modified: 04/01/14 by Leonidas Fegaras