Introduction to Markup Languages
This document was created by John New, an adjunct IT lecturer
at Charles Sturt
Structured using DocBook XML, edited using
XMLmind XML editor,
parsed using Saxon,
tidied using HTML
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.
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.
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
You will read about markup languages in general, research two markup
languages, try to mark up a document, and prepare a short report.
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
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.
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
Generalized Markup Language (SGML)
Markup Language (HTML)
Markup Language (XML)
HyperText Markup Language (XHTML)
Information Typing Architecture (DITA)
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
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
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
If a company uses a markup language, why does it use
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
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
How has the markup language developed over time? How many
releases have there been (to add new features or to fix
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
Markup Language Comparison Table
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
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
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
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 ???
2 cups of Rice
1 litre of Vegetable stock
500g diced cooked chicken
20ml olive oil
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.
1 small pineapple
A few strawberries
2 ozs suggar
Cream or custard
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.
1 small lemon.
2 lumps of sugar
1/2 litre of boiling water
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.
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:
Finally, you will present your report.
If you have the time and / or interest, do some additional
Look at this list
of document markup languages and this list
of lightweight markup languages and investigate other document
markup languages. Some links you may find interesting include:
Plain Text (APT)
Old Documentation (POD)
Board Code (BBCode)
So far, you have looked at document markup languages. However,
markup languages are used for many purposes other than documentation.
Follow some of the links from this list of
markup languages. Some links you may find interesting
interface markup languages
graphics markup languages
Markup languages for web
services, such as WSDL, SOAP, UDDI
Markup languages for web
syndication, such as RSS
If you have time, there are many other XML technologies that you
can investigate. These include:
Stylesheet Language (XSL)
Formating Objects (XSL-FO)
When you have finished this activity, you should have a thorough
appreciation of markup languages in general and XML in particular.
This article made use of resources included with:
Marchal, Benoit. (2002). XML by example. 2nd.
edn. Que: Indiana, 2002. ISBN: 0789725045.