Recent Articles



































Markup language



         


A markup language is a kind of text encoding that represents text as well as details about the structure and appearance of the text. A modern one with widespread use is HTML, see below. The name is derived from the traditional publishing practice of "marking up" a manuscript, that is, adding printer's instructions in the margins of a paper manuscript. Markup languages are used, for example, by the publishing industry to communicate printed works among authors, editors, and printers. It is said that this idea was first presented by William W. Tunnicliffe in 1967.

[Top]

History

Some early examples of markup languages available outside the publishing industry can be found in typesetting tools on Unix systems such as troff and nroff. In these systems, formatting commands were inserted into the document text so that typesetting software could format the text according to the editor's specifications. It was a trial and error iterative process to get a document printed correctly. Availability of WYSIWYG ("what you see is what you get") publishing software supplanted much use of these languages among casual users, though serious publishing work still uses markup to specify the non-visual structure of texts.

Another major publishing standard was TeX, created and continuously refined by Donald Knuth in the 1970s and 80s. TeX concentrated on detailed layout of text and font descriptions in order to typeset mathematical books in professional quality. This required Knuth to spend considerable time investigating the art of typesetting. However, TeX requires considerable skill from the user, so that it is mainly used in academia.

The first language to make a clear distinction was Scribe, developed by Brian Reid and described in his doctoral thesis in 1980. Scribe was revolutionary in a number of ways, not least it introduced the idea of styles seperated from the marked up document. Scribe influenced the development of GML (later SGML) and is direct ancestor to HTML and LaTeX. LaTeX is a de-facto standard in many scientific disciplines.

The idea that markup should focus on the structural aspects of a document and leave the visual presentation of that structure to the interpreter led to the creation of SGML (Standard Generalized Markup Language), which specified a syntax for including the markup in documents, as well as another system (a so-called "metalanguage") for separately describing what the markup meant. This allowed authors to create and use any markup they wished, selecting tags that made the most sense to them. Examples of such markup languages based on the SGML system are TEI and DocBook.

However SGML was generally found to be cumbersome, a side effect of attempting to do too much and be too flexible. It appeared that it would be limited to niche uses while WYSIWYG tools would take over the vast majority of document processing.

This changed dramatically when Tim Berners-Lee used some of the SGML syntax, without the meta-language, to create HTML (Hypertext Markup Language). In HTML the markup consists of a set of "known" tags that handle common formatting tasks. However the language was originally created to markup simple scientific papers and therefore had to be greatly expanded in order to offer the rich content the web has today, and for this reason the additions often follow no logical design, although recent efforts have attempted to address this. HTML is likely to be the most used document format in the world today.

Another, newer, markup language that is currently growing in importance is XML (Extensible Markup Language). Unlike HTML which uses a set of "known" tags, XML allows you to create any tag you wish (thus it's extensible) and then describe those tags in a meta-language known as the "DTD" (Document Type Definition). XML is similar to the concept of SGML, and in fact XML is a subset of SGML in general terms. The main purpose of XML (as opposed to using SGML) is to keep the system simpler by focusing on a particular problem--documents on the internet. By doing so they hope to avoid the feature-creep that complicated SGML.

[Top]

Features

A common feature of many markup languages is that they intermix the text of a document with markup instructions in the same data stream or file. Here, for example, is a small section of text marked up in HTML:

<h1> Anatidae </h1> <p> The family <i>Anatidae</i> includes ducks, geese, and swans, but <em>not</em> the closely-related screamers. </p>

The codes enclosed in angle-brackets <like this> are markup instructions, while the text between these instructions is the actual text of the document. The codes "h1", "p", and "em" are examples of structural markup, in that they describe the intended purpose or meaning of the text they include. Specifically, "h1" means "this is a first-level heading", "p" means "this is a paragraph", and "em" means "this is an emphasized word". A device reading such structural markup may apply its own rules or styles for presenting it, using larger type, boldface, indentation, or whatever style it prefers. The "i" instruction is an example of presentational markup. It specifies the exact appearance of the text (in this case, the use of an italic typeface) without specifying the reason for that appearance.

For the humanities, the Text Encoding Initiative (TEI) has published some guidelines how to encode texts.

[Top]

See also

SGML, HTML, HTML element, SMIL, XML, TeX, GML, YAML, Lightweight markup language, WML,Microbrowser,List of markup languages.
[Top]

References







  View Live Article   This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License