Yannis Papakonstantinou, available for office hours every Tuesday and Thursday 2:30-4:00.
The following lines will contain new announcements, mostly around the reading material and the project. Weekly additions are indicated.
Our class project is the construction of an XQuery processor. We consider a subset/modification of XML’s data model, XQuery, and XQuery’s type system as described in this note. The processor receives an XQuery, parses it, reduces it to XQuery core, annotates its subexpressions with types, and simplifies it using the type information.
Produce a short report and give it to Yannis along with the source of the program that takes one parameter (path to a file containing a query) and prints out rewritten XQuery. We will also have demo and evaluation meetings, outside classroom hours. These meetings should take place within a week from the date that a stage of the project is due. Contact Yannis for scheduling.
To access XML files you can use a standard DOM interface. There is a number of XML DOM parser implementations. We recommend Xerces for Java version 1.4.4 from Apache. Download the "jar" for this parser here.
The W3C spec of DOM is here but we believe it is write-only (nobody may have been able to fully read it). Xerces JavaDocs are a good reference, but the easiest way to get started with DOM is to walk through the following sample program that uses Xerces
There will be a final that worths 40% of the grade. 60% of the grade is based on the XQuery project.
The complete XQuery and XML Schema documentation
Material on Query Containment, Minimization, and the problem of Answering Queries on Sources with Limited Capabilities