SGML (Standard Generalized Markup Language) is a standard for how to specify a document markup language or tag set. Such a specification is itself a document type definition (DTD). SGML is not in itself a document language, but a description of how to specify one. It is metadata.
SGML is based on the idea that documents have structural and other semantic elements that can be described without reference to how such elements should be displayed. The actual display of such a document may vary, depending on the output medium and style preferences. Some advantages of documents based on SGML are:
- They can be created by thinking in terms of document structure rather than appearance characteristics (which may change over time).
- They will be more portable because an SGML compiler can interpret any document by reference to its document type definition (DTD).
- Documents originally intended for the print medium can easily be re-adapted for other media, such as the computer display screen.
The language that this Web browser uses, Hypertext Markup Language (HTML), is an example of an SGML-based language. There is a document type definition for HTML (and reading the HTML specification is effectively reading an expanded version of the document type definition). In today's distributed networking environment, many documents are being described with the Extensible Markup Language (XML) which is a data description language (and a document can be viewed as a collection of data) that uses SGML principles.
SGML is based somewhat on earlier generalized markup languages developed at IBM, including General Markup Language (GML) and ISIL.