Introduction to Markup Languages John New 2006 John New. This document was created by John New, an adjunct IT lecturer at Charles Sturt University, Australia. Structured using DocBook XML, edited using XMLmind XML editor, parsed using Saxon, tidied using HTML Tidy. 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. Introduction Understanding the concept of a markup language is crucial to understanding the history, theory, and practice of XML.
Markup Language 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 too. 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 article: Markup language 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 discussion. Standard Generalized Markup Language (SGML) Hypertext Markup Language (HTML) Extensible Markup Language (XML) Extensible HyperText Markup Language (XHTML) Darwin Information Typing Architecture (DITA) DocBook OASIS OpenDocument XML 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). 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. Markup Language Comparison Table Markup Language What? When? Who? Why? Where? How?
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. ---------------------------------------------------------------------- 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.
Extra Investigation If you have the time and / or interest, do some additional investigation: 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: Almost Plain Text (APT) LaTeX Plain Old Documentation (POD) Rich Text Format (RTF) TeX Bulletin Board Code (BBCode) Plain Text (TXT) 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 include: User interface markup languages Vector graphics markup languages Markup languages for web services, such as WSDL, SOAP, UDDI Markup languages for web syndication, such as RSS and Atom If you have time, there are many other XML technologies that you can investigate. These include: Document Type Definitions XML Schemas Relax NG Extensible Stylesheet Language (XSL) XSL Transformations (XSLT) XSL Formating Objects (XSL-FO) XPath XQuery XPointer XLink Conclusion When you have finished this activity, you should have a thorough appreciation of markup languages in general and XML in particular. Resources This article made use of resources included with: Marchal, Benoit. (2002). XML by example. 2nd. edn. Que: Indiana, 2002. ISBN: 0789725045.