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.
Table of contents |
2 Features 3 See also 4 References |
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 over an astonishingly long period by Donald Knuth in the 1970s and 80s. TeX concentrated on detailed layout of text and font descriptions in order to make good-looking books, which required Knuth to spend considerable time investigating the qualities of print. However TeX is so complex and easy to "break" that it has found little use outside academia, although it did replace troff almost entirely.
After a time it was seen that most markup languages shared many features in common, and it became generally agreed that markup should focus on the structural aspects of a document and leave the visual presentation of that structure to the interpreter. This led (eventually) 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.History