Introduction to Markup Languages

John New

Structured using DocBook XML, edited using XMLmind XML editor, parsed using Saxon, tidied using HTML Tidy.

Revision History
This document was created by John New, an adjunct IT lecturer at Charles Sturt University, Australia.

1. Copyright
2. Introduction
3. What To Do
3.1. Task 1: Read an Overview of Markup Languages
3.2. Task 2: Read About Significant Markup Languages
3.3. Task 3: Choose and Research Two Markup Languages
3.4. Task 4: Record Your Findings
3.5. Task 5: Think About a Document
3.6. Task 6: Write and Present a Report
4. Extra Investigation
5. Conclusion
6. Resources

1. Copyright

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the GNU FDL is available from http://www.gnu.org/licenses/fdl.html.

2. Introduction

Understanding the concept of a markup language is crucial to understanding the history, theory, and practice of XML.

 

A markup languge combines text and extra information about the text. The extra information, for example about the text's structure or presentation, is expressed using markup, which is intermingled with the primary text.

 
 --Markup Language

3. What To Do

In this activity, you are going to investigate markup languages. One of the markup languages is XML but there are other markup languages too.

You will read about markup languages in general, research two markup languages, try to mark up a document, and prepare a short report.

3.1. Task 1: Read an Overview of Markup Languages

Let's begin at the beginning and ask the fundamental questions: What is a markup language? To find out, read the following article:

Notice the different classes of markup languages. Read through the brief history of markup languages. Make some notes as you go. These can form the introduction to your report.

Of course, you can also use Google if you want to do add some information to your report.

3.2. Task 2: Read About Significant Markup Languages

Follow the links to each of the following articles and read the article. Each article describes a significant markup language and provides an overview of the markup language.

Why is the markup language significant? Well, don't take my word for it. See if you can work it out. If you can't, that is a topic for discussion. Maybe you even disagree. If so, that is also a topic for discussion.

3.3. Task 3: Choose and Research Two Markup Languages

Now choose two markup languages from the list, preferably ones that you don't know much about, and read the articles about those markup languages again. Choosing two markup languages allows you to compare and contrast, to look at the similarities and differences between languages. This is a valuable exercise as you learn more about XML.

Write down your answers to the following more detailed questions.

  • What? ____________________ ____________________ ____________________ ____________________

    What type of markup language is it? Various terms describe markup languages: specific, generalized, generic, descriptive, semantic, presentational, procedural. What do these terms mean? Can you identify which terms apply to which languages? Create a glossary of terms.

  • When? ____________________ ____________________ ____________________ ____________________

    When was each markup language created? Can you create a timeline? Which one came first? Which one is the most recent? What is the chronological relationship among the markup languages? Is one languge the ancestor or descendent of another?

    When did the markup language start being used by a significant number of individuals or companies?

  • Who? ____________________ ____________________ ____________________ ____________________

    Who created the markup language? Was it an individual or a private company or an organisation? Who, if anyone, controls the development of the markup language now?

    Who used the markup language when it was first created? Who uses the markup language now?

  • Why? ____________________ ____________________ ____________________ ____________________

    Why was the markup language created? Was it created accidentally or for a specific purpose? Was it created through trial and error or was it created through a process of rigorous planning?

    If a company uses a markup language, why does it use it?

  • Where? ____________________ ____________________ ____________________ ____________________

    Where is the markup language used? Is it used world-wide? Is it used by a specific company or companies? Is it used in a certain industry?

  • How? ____________________ ____________________ ____________________ ____________________

    How many people or companies or organisations use the markup language? How are they using it? For what purpose? For producing all their documentation? To include in their software applications?

    How has the markup language developed over time? How many releases have there been (to add new features or to fix bugs).

3.4. Task 4: Record Your Findings

Record your findings in an organised form so that it is easy for you to compare and contrast the similarities and differences among the markup languages you have investigated.

For example, start creating a glossary of terms that you can add to as you find out more about markup languages.

Or use a table similar to the following. Add columns and rows as required.

Table 1. Markup Language Comparison Table

Markup LanguageWhat?When?Who?Why?Where?How?
       
       
       

3.5. Task 5: Think About a Document

Now let's take a small document. Think about how you could mark up this document in the markup languages you have chosen? You don't have to actually mark it up (unless you want to). At this stage, just look at the document and think about how you could mark it up.

What this really means is that you should think about the structure of the document and see if you can identify the parts of the document. Try and give a short, meaningful name to the main parts of the document?

If you're familiar with the concept of "object-think" in object-oriented programming, try treating the document as an object and ask yourself two key questions:

  • What does the document know?

  • What what does the document know how to do?

The document might say things like:

  • I am a document

    • I know my structure

      • I know my name

      • I know who wrote me

      • I know when I was written

      • etc.

    • I know my content

Hmm, now ask youself: does the document know anything about it's appearance, ie what it should look like? Is the answer to this question: Yes or No? And why?

Also ask yourself: what does the document know how to do? Does it know anything?

Here is the document with some parts named:

MY FAVOURITE RECIPES             This is a title

by Christopher Cook              This is an author

Copyright 2010                   This is ???
----------------------------------------------------------------------
Chicken Risotto
Ingredients:
 2 cups of Rice
 1 litre of Vegetable stock
 1 onion
 500g diced cooked chicken
 20ml olive oil
Method:
 dice the onion.
 cook the onion in the oil until it is transparent.
 add rice and mix.
 add stock, a little at a time, stirring into the rice until
 it is absorbed by the rice.
 add chicken pieces.
----------------------------------------------------------------------
Fruit Salad
Ingredients
 3 bananas
 6 passion-fruits
 1 small pineapple
 2 pears
 3 peaches
 A few strawberries
 2 ozs suggar
 Cream or custard
 Icing sugar
Method
 Peel and cut bananas into rings. Add to bowl.
 Cut passion-fruit in two and scoop out contents. Add to bowl.
 Peel pineapple and grate it. Add to bowl.
 Peel and cut pears and peaches thinly. Add to bowl.
 Slice strawberroes into pieces. Add to bowl..
 Allow to atand for an hour to mix flavours.
 Serve with cream or custard, sprinkled with icing sugar.
----------------------------------------------------------------------
Lemon Drink
Ingredients
1 small lemon.
2 lumps of sugar
1/2 litre of boiling water
Method
Cut lemon and sqeeze to extract juice into cup Strain juice into jug. Add sugar and boiling water and stir.
Allow to cool. Serve in glasses.
----------------------------------------------------------------------

3.6. Task 6: Write and Present a Report

Write a short report that summarizes what you have learnt. This can be one of the following:

  • A Microsoft Word document - about one page in length

  • A PowerPoint presentation - between 5 - 7 slides

Include a short introduction, body, and conclusion. The body might include your answers to the following questions:

  • What?

  • When?

  • Who?

  • Why?

  • Where?

  • How?

Finally, you will present your report.

4. Extra Investigation

If you have the time and / or interest, do some additional investigation:

5. Conclusion

When you have finished this activity, you should have a thorough appreciation of markup languages in general and XML in particular.

6. Resources

This article made use of resources included with:

Marchal, Benoit. (2002). XML by example. 2nd. edn. Que: Indiana, 2002. ISBN: 0789725045.