markup language

Difference between version 18 and 19 - Previous - Next
A '''markup language''' is a [data format%|%text format] adding processing instructions to
plain text, usually for the purpose of either of rendering or logical
organization.



** Description **

A markup language might denote some ''semantic'' role of a certain string of the
text, for example, ''document title'', ''chapter delimiter'', ''paragraph
delimiter'', etc. 

Another common type of markup is '''presentation''' markup.  This
is the type of markup we use on this wiki.  With presentation
markup, you indicate what special actions should be taken during
transformation of the text from ''raw'' text to the form presented
to the user.  Here on the wiki, we can
   * mark words as ''italic'' (surround then with double apostrophes)
   * mark words as '''bold'''  (surround them with triple apostrophes)
   * insert horizontal rules (four dashes in a line only)
   * create bulleted lists (start line with 3 spaces, asterisk, space, then your text)

and more.

Typically, if one has a semantic markup, one also has some sort of
means to also transform the semantical parsed text into a preferred
presentation format.  However, the opposite is not often true - if
one only has presentation markup, it is quite hard to generate an
accurate semantical tree of the document, unless the user takes
great care to use presentation and content in such a way that one
can somehow derive semantical meaning from the text.

----

These distinctions are sometimes summarized as being between ''procedural markup''
and ''declarative markup''.



** Markup Languages **

   [HTML]:   
   [TeX]:   
   [SGML]:   
   [XML]:      [http://bdesgraupes.pagesperso-orange.fr/tools.html#aida%|%Aida]:   The Aida project is two-fold :
[http://bdesgraupes.pagesperso-orange.fr/tools.html#aida%|%Aida]:

The Aida project is two-fold:

   * it defines a simple common markup language, designed to describe structured text;

   * it provides a compiler which translates the Aida syntax into various target formats (Html, Latex, Trac, Mediawiki, Text, Markdown,...).
   :   This is useful to create and maintain documentations, help files, etc, which must be distributed on different supports (Web pages, PDF documents, Wiki pages,...). The user writes his/her files using the common Aida Markup Language and converts them to the target format with the aida command.
   :   The system is fast, flexible and extensible. The core command aida is a strict parser (written using Bison and Flex) which analyses files written in the Aida Markup Language and invokes callbacks in order to convert them to the target format.
   :   The aida command embeds a Tcl language interpreter and all the callbacks are written in Tcl: the Tcl scripts constitute Aida's library. This architecture makes it easy to extend the library and define new target formats. It is also very powerful because any Tcl code can be sourced and evaluated within the Aida files and thus one can create dynamic contents, generated on the fly.

** See Also **

   [lightweight markup languages]:   

   [Simple Markup]:   a simple presentation markup language.

   [Structured TeXt]:   a generic name for a classe of simple markup lanauges

   [Template and Macro processing]:   

   [Tcl as a markup language]:   

<<categories>> Glossary | Documentation