COAP:COAP-2180/week3
Week 3 COAP 2180
On week three we will learn how to create our own DTDs
- Editing XML should be a prerequisite, i.e. you should be familiar now with a simple DTD's structure
- Defining an information architecture (sketching out elements and attributes)
- Defining DTD rules and attributes
Teaching materials
- Tour de XML (This week
- E-books and X3D)
- Defining a DTD
- 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 !
- Learning XML, Chapter 4 Quality Control with Schemas
- XML in a Nutshell, Chapter 3 Document Type Definitions
These chapters are available through the world classroom.
- For the adventurous
- XML Category (All XML-related articles in this wiki)
- XML (on Wikipedia)
Homework 1 - Weeks 1/2
Deadline and submission:
- Monday week 3 (before start of class)
- Use the worldclassroom: https://webster.blackboard.edu/
- Submit the *.xml, the *.dtd and an optional report file (see below)
Task
Edit an XML document with the suggested DTDs below
- Respect the semantics of the elements and the attributes
- Validate your document
- Try to use as many different elements as you can (if appropriate)
- Follow additional directions for each suggested DTD
- Bonus: add longer comments in the DTD or the XML file that explain the XML structure and that express your opinions
Do not worry too much about rendering (display). It is more important that your get the XML editing right, i.e. be able to fill in a dynamic information structure with data. Producing a really good looking CSS will give you a bonus.
You can choose among the DTDs available at http://tecfa.unige.ch/guides/xml/examples/dtd-examples/
- Make sure to get both the *-template.xml and the corresponding *.dtd file. If available, you also should take the *.css.
Some of the DTDs are described in the following table.
Recipe DTD
(easy) |
Write simple recipes | recipe.dtd | Use all tags. Write at least one recipe. Make sure that there is enough information to really use it. |
Recipe Markup Language
(medium) |
Write complex recipes | recipeml.dtd | As above, but only use appropriate tags. Hint: find the website of its creator |
RSS 0.92
(medium) |
News syndication (usually machine generated) | rss-0-92.dtd | Use enough tags to display this in an aggregator. Enter at least 4 URLs. Hint: look at a RSS news feed first ! |
Simple Docbook
(hard) |
Write "real" articles | sdocbook.dtd | Do not use all tags, only the needed ones. Copy/paste from a text you already have. |
Instructions
(medium) |
Write "how-to" instructions | instructions.dtd | Come up with a good "how-to problem". Only use tags you need.. |
StepbyStep
(medium hard) |
Write "how-to" instructions | stepbystep03.dtd | Make up a good "how-to problem". Only use tags you need.. |
Story grammar
(medium) |
Write simple fairy tales | story-grammar.dtd | Write a nice fairy tale. Doesn’t need to be your own. |
Evaluation criteria (roughly)
Work considered as weak:
- Well-formed (but not valid) document using the DTD’s elements
Work considered as minimalistic:
- Valid document that includes very minimal content.
Good work includes:
- Valid document with an interesting content
- Some CSS
Excellent work (A-) includes:
- Inserted useful comments <!-- ... --> in the XML and/or the DTD
- Respect of the DTD's semantics
- Good enough CSS for easy reading
Brilliant work (A) includes either one of:
- A 1 page report that discusses the architecture of the DTD and your opinion of it, e.g. you can describe architecture of the DTD (without going into detailed description of every element !), discuss what you would like to improve, what you liked/disliked, your difficulties, etc. You simply can include this report into the DTD that you resubmit or as word/PDF/HTML file. As you like, presentation doesn't matter.
- Outstanding styling