COAP:COAP-2180/week1

The educational technology and digital learning wiki
Jump to navigation Jump to search

Week 1 COAP 2180

On week one we will look at XML in three ways:

  • Where is XML used ?
  • What is XML (a formalism) ?
  • How can we hand-code XML applications ?

Teaching materials

Introduction to XML (Monday)
  • xml-intro.ppt (slides used on Monday)
  • XML article in this wiki (includes the same information and is somewhat more readable)
Understanding and editing XML (Wednesday)
  • xml-edit.pdf (slides used to explain how to understand DTDs and how to edit XML)
  • Editing XML tutorial (same information as wiki article, draft but probably still more useful then the slides
Examples files
  • DTD and XML templates example directory
  • To retrieve these files, I strongly suggest that you "save link as". If you open a file in a navigator like IE and then save, you may loose information ....
  • Also consider taking the ALLFILES.zip archive which should include everything. Before unzipping, create a directory.
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 1 Introducing XML and Chapter 2 XML Fundamentals
  • Learning XML, Chapter 2 Markup and Core Concepts

Both are available through the worldclassroom

For the adventurous

Homework 1 - Week 1

Deadline and submission:

  • Wednesday week 2 (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

Important: Do not worry about rendering (display). Some of these DTDs do have a CSS or XSLT style-sheet and you may copy it to look at your contents in a more friendly way. However, I only require XML editing, i.e. filling in a dynamic information structure with data. Displaying XML contents is part of another assignment. !

You can choose among the DTDs available at:

Some of the DTDs are described in the following table.

DTD (difficulty)
Purpose
file name
Additional directions
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

Excellent work includes:

  • Inserted useful comments <!-- ... --> in the XML and/or the DTD
  • Respect of the DTDs semantics

Brilliant work includes:

  • A 1-2 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.