582304 The metalanguage XML - Spring 2007 - Project work
The project work can be completed in two ways:
- Attending exercises and completing the project work (partially done in the exercises).
- Completing a larger, standalone project work.
The smaller project work consists of the following parts:
0. Attendance at the exercises (6 points)
I. An XML example (12 points):
- A DTD for a selected application domain
- An XML document instance conforming to the DTD (or several instances)
- A stylesheet (XSLT) for transforming the XML document into HTML
- The resulting web page
- A PDF transformation (XSLT+FO) for the document
- The resulting PDF file
The work should be presented on a web page. The web page could look like this example page and should contain (at least) the same information.
The larger project work consists of the following parts:
Part I as defined above, with additional requirements (15 points altogether):
- You must combine your DTD with some elements from another DTD.
- The HTML and PDF outputs must contain some kind of an index or a table of contents.
I.2 Another type of document grammar (3 points)
- You should represent the document type in XML Schema as well as in a DTD. You are not allowed to use an automatic translation for this! This grammar may be slightly different from the DTD if logical.
Deadline
The web site must be ready for grading on required deadline. It must work with the Mozilla or Firefox browser in Linux (or Windows) or the Internet Explorer in Windows at the department. Remember to set the access permissions so that the course assistants can read/view/download your files.
Submit the completed project work through the online submission form.
Please have your project work available at the submitted address at least until the publication of the course results.
The project may be completed in Finnish, Swedish or English.
The project deadline is March 15th, 2007. If you submit your work after the 15th, the grade is affected as follows.
| March 16 | 0.75 * the grade |
| March 17 | 0.50 * the grade |
| March 18 | 0.25 * the grade |
| March 19 | project failed |
At least half of the maximum points (before possible scaling consequent upon submitting the project work after March 15th but before March 19th) from the project work is needed to pass the course.
Detailed instructions
I. XML example (DTD + instance(s) + style sheet + PDF transformation)
Select a suitable application domain, e.g., a dictionary, a manual, an encyclopedia, a newspaper, or a book. It is important that you make up your own example. You do not have to register your intended domain in any way prior to submitting your work.
- Design an XML DTD for a selected domain area. The DTD should contain at least the most central features available in DTDs (elements, attributes, entities). Length 25-50 declarations.
- Give examples of document instances of your chosen domain that (at least one) conforming to this DTD. Length 2-3 pages of text (or longer).
- Set up a stylesheet for the original DTD for presentation in a web browser (Mozilla/Firefox/IE). The stylesheet produces HTML so that the document can be viewed in the browser. The stylesheet should contain the most central (at least) XSLT commands. Length 2-3 pages of rules. The XSLT doesn't have to be linked to the XML file(s) if you want to use a standalone XSLT processor. You can also use the browser as an XSLT processer in which case you should link the stylesheet to the XML file(s). In any case both the XML file(s) and the XSLT source should be available as text files for easy reviewability. Please indicate which browser/processor you have used.
- Define a PDF transformation as explained in the lectures with XSLT and FO and perform the transformation with FOP so that you receive a PDF file of your XML document as a result. Length 2-3 pages of rules.
The results should be readable or viewable in the selected browser (as text, HTML, PDF).
Something to pay attention to
Students should especially put emphasis on the the following points.
- Doing the project work carefully.
- Including all required parts.
- Making sure that all parts are syntactically correct and work correctly with chosen browser.
- Making sure that the whole example is sensible.
Use a validator. We don't want to see invalid documents.
Furthermore, emphasis is put on the following features.
- DTD - Is the DTD logical and sensible? Is the granularity sensible? Does it contain both elements and attributes, and entities?
- Instances - Is the instance logical and sensible? Have all the different kinds of elements, attributes and entities been used? Is the instance valid and well-formed?
- Stylesheet - Is the stylesheet logical and sensible? How many features of XSLT have been used? Is the result good when looking at it in the chosen browser?
- PDF transformation - Is the PDF transformation logical and sensible? How many features of FO (and XSLT) have been used? Is the result good when looking at it in a PDF viewer?
By the way, use a validator.

