2110312 Project: Intermediate Representation by XML

Contribution to term score: 10%

In this class, students are required to work on the team projects. Each team can consist of 5 students. Each team must implement a DTD parser, which takes a source program written in a XML DTD language, recognizes, and generates XML output that describes the input DTD. The parser must be able to parse a set of benchmark suite (a collection of short DTDs) provided by the instructors and the XML output of the DTD must follow the example file below and must be viewable by Microsoft's Internet Explorer 5.0 or better.

Each team must choose to implement a parser that can output ONE (and only) of two output formats, simple format or hard format. For simple format, it will be quite easy to construct a parser that can output this format. However, the maximum score that the instructor will award to the team will not exceed 7 points (out of 10). If the team chooses to construct a parser for hard format, which is much more complicated, it can get full score (10 points).

The final presentation and the demonstration of your project are required. To ensure that everyone has contributed and understood the project, the team must declare the responsible person of each module. In the case that there are more than one student working on the same module, all students must be able to clearly point out which part of the module they are responsible. In addition, everyone must be able to answer all basic questions of the project and any questions that are related to the module they are responsible. The team must also show and EXPLAIN their source code. The grading will be based on the completeness of the project (80%) and the balance of the workload among team members (20%), especially the person who cannot answer the most questions. The time of the demonstration will be during the last week of the semester (February 18 - 21). There will be a sign-up sheet posted in front of instructor's office.

Important note: If the instructor has found or suspected that any team has copied the work from another team WITH OR WITHOUT the permission. Both teams (the original and the copier) will receive 0 points for the project score.

Sample Files

Sample Programs

There are 2 sample programs, one generates a hard format output and the other generates a simple format output. The sample program can be found on atlantic at: /home/natawut/bin/dtdsimple and /home/natawut/bin/dtdhard To run:
/home/natawut/bin/dtdhard < input.dtd > output-hard.xml


Natawut Nupairoj - Natawut.N@chula.ac.th