COAP:COAP-2180/week3
Week 3 COAP 2180
( under construction )
On week three you will learn how to create your own DTDs:
- Defining an information architecture (sketching out elements and attributes)
- Defining DTD rules for elements and attributes
This homework can be a prototype for a part of your term project.
Teaching materials
Tour de XML (This week: to be announced)
Defining a DTD
- DTD tutorial (wiki lecture notes)
- xml-dtd.pdf (slides)
Examples files (same as before)
Textbook chapters
If you find that my lecture notes and slides are incomplete, too short or not good enough, reading either one or both texts is mandatory !
- XML in a Nutshell, Chapter 3 Document Type Definitions (start here)
- Learning XML, Chapter 4 Quality Control with Schemas (additional reading)
These chapters are available through the world classroom.
- For the adventurous
- XML Category (All XML-related articles in this wiki)
- XML (on Wikipedia)
Homework 3 - Week 3
Task
Create a DTD and create an associated XML test file.
- Your DTD should be somewhat text-centric (i.e. be meant for creating documents that can be displayed as a web page with CSS or XSLT)
- You can decide the purpose of the DTD (document types you wish to model), but it's best to discuss it in class on Monday and/or Wednesday
- I strongly suggest to think about a study area you are interested and model for example a process, a typical document class, a description of a class of artifacts, etc. Avoid lists of CDs, cars, etc.
- If you reuse elements from an other DTD, please tell so (in the comments of the DTD). Plagiarism will be punished, but documented reuse of elements from an existed DTD or even inclusion of a whole DTD is just fine !
Tips:
- Take into account that you will be able reuse this DTD in most follow-up projects, including the term project !!
- Do not attempt to define a too simple DTD (lists) or a very complex one.
- Do not worry about rendering (display). It will be done in homework 4. In week 4/5 you will learn how to add information to a text, e.g. if you have an element like:
adress>Mr. X., 1 Cool st., Geneva</address>
you'll be able to make the result look like: Private Address: Mr X. ,....... In other words: Think about data, not display !
Deadline and submission:
- Monday week 4 (before start of class)
- Use the world classroom: https://webster.blackboard.edu/
- Submit the *.dtd plus the *.xml test files and an optional report file (see below)
Evaluation criteria (roughly)
Work considered as weak:
- Correct DTD that contains at least 5 elements that you invented yourself and a somewhat valid XML example file
Work considered as minimalistic:
- A correct DTD that fits a purpose (including a valid XML example file)
Good work may include one or several of the following
- Inserted comments in the DTD and that explains the purpose of the DTD, the purpose of each elements, authorship, date, etc.
- A DTD that is "interesting" and useful for a given domain, e.g. it should include more than just 5 elements, either yours or elements that found in other DTDs.
- Use of attributes
- Use of entities
- A DTD that is more complex than a simple table (e.g. contains recursive elements)
- A good XML example that uses all elements more than once (i.e. you do information architecture testing)
Excellent work (A-) includes in addition
- A 1-2 page report that discusses your information architecture (the DTD structure) and results (what do you think of it, how could you improve it, etc.)
Brilliant work (A)
- Does all of the above, i.e. produces a DTD that could be used for real plus a good documentation.