The Document Style Semantics and Specification Language (DSSSL) is an international standard developed to provide a stylesheets for SGML documents.
DSSSL consists of two parts, a tree transformation process that can be used to manipulate the tree structure of documents prior to presentation, and a formatting process that associates the elements in the source document with specific nodes in the target representation—the flow object tree. DSSSL specifications are device-independent pieces of information that can be interchanged between different platforms. The back-end formatters needed to generate the final form of the document (e.g. PostScript or Rich Text Format, or a presentation on a computer display) are not standardized by DSSSL.
Based on a subset of the Scheme programming language, it is specified by the standard ISO/IEC 10179:1996. It was developed by ISO/IEC JTC1/SC34 (ISO/IEC Joint Technical Committee 1, Subcommittee 34 - Document description and processing languages).
SGML contains information in a machine-readable but not very human-readable format. A "stylesheet" is used to present the information stored in SGML in a more pleasing or accessible way. DSSSL can convert to a wide range of formats, including RTF, HTML, and LaTeX.
Although compatible with any SGML, DSSSL was most often used with DocBook. In 1997, a syntax highlighting language definition for KEDIT was published.
With the appearance of XML as an alternative to SGML, XML's associated stylesheet language XSL was also widely and rapidly adopted, from around 1999. Although DSSSL continued in use within the shrinking SGML field, XSL was very soon in use more extensively, and by more coders, than DSSSL had ever achieved. This was emphasised when previous SGML strongholds such as DocBook converted from SGML to XML, and also converted their favoured stylesheet language from DSSSL to XSL.