Generalised Markup Language

The Generalised Markup Language (GML) is a procedural markup language.

History
It was not developed initially for use in IBM's macro text processor SCRIPT in 1969, but was used in one form or another for most formal documentation generation inside IBM well into the 21st century and is still used directly in generating BookManager files and as the basic technology behind of IBM's Document Composition Facility (DCF).

The most common use for it on OS/2 is in regards to the Help Facility, but the help (.hlp) and .inf files used by the Help Viewer are compiled from GML scripts.

The name is actually a retronym, GML are the initials of the authors of the SCRIPT program, namely Charles F. Goldfarb, Edward J. Mosher and Raymond A. Lorie, and the full name was made up to fit the acronym.

Overview
GML is "intent-based" in the sense that commands, macros and formatting parameters are used to mark-up or tag your text to specify what you intend the resulting document to look like, rather than formatting a document exactly like it should look like, as you would with for instance a word processor or a DTP program. The GML processor the has an output profile that governs how the script is converted into a document format suitable for the required output device or file format. This is done to give the text document a certain amount of device and file format independence, a document printed out on a high resolution laser printer that has 120 characters per line will look different than a serial terminal with a 40 characters per line screen and concepts that make sense on an electronic device such as a hyperlink make no sense on a paper document and will need to be either stripped out or fully extended depending on end format.

Thus GML uses concepts for tagging such as paragraph (:p), page header (:h) and list (:ol is an ordered list for example, :li is each list item) to spell out what the intended formatting of the following text is, here below is a GML script example taken from Wikipedia that should make sense as it stands:

Variants
The best known variant of GML is the one used in the OS/2 help system.

OS/2 Help system tutorials

 * Larry Salomon Jr.: The Help Manager and Online Documentation

Descendants
Standard Generalised Markup Language (SGML) is ISO standard markup language for text documents that is derived from GML, it keeps the structure and concepts of GML but changes the way the formatting is done. HTML and XML are both subsets of SGML although HTML is starting to change slowly into something that has concepts that strictly speaking do not exist in SGML proper. DocBook is also a GML derivative, and in the beginning was heavily GML influenced but grew into something more SGML like.

Software
Traditionally all GML software originating from IBM was developed for their mainframe systems, the original SCRIPT macro processor is still actively updated and used by IBM internally and as a back end for mainframe document systems. They also released a dedicated publishing tool called Information Structure Identification Language (ISIL) around 1980 that featured a GML superset and was used for all technical document publishing internally during the 80s and later converted to a commercial offering called BookMaster that is still available and supported by the company, although they are these days much keener to sell you the SCRIPT based "Document Composition Facility".

OS/2 GML software

 * IBM DWSISIL - Simple OS/2 port of DOS DWISIL - IBM internal product only
 * Hyperwise - GML/Help & HTML file creation/editing capability
 * Phelsuma/2 - Help and INF file creation & editing environment
 * Vyperhelp - GML/Help & HTML/WinHelp creator

DOS GML software

 * IBM SCRIPT/PC - subset of DCF - 1984
 * IBM MARKUP (1987)
 * IBM DWSISIL - PC version of ISIL - Introduced in 1987 - IBM internal product only.
 * IBM DWScript - SCRIPT/VS compatible - Last known version: Version 4.6 - IBM internal product only.

Text & programmers editors with GML support

 * Boxer - GML syntax highlighting support built in - Commercial - DOS and OS/2 versions discontinued, Win32 version still sold.
 * Enhanced Editor - Has IPF source files syntax highlighting built in with some auto-formatting features.

Other tools with GML/Help/IPF related functionality

 * Pillarsoft Suite - Contains a code template tool with IPF support - Shareware

Publications

 * GML Starter Set User's Guide
 * GML Starter Set Reference