Document Style Semantics and Specification Language

The Document Style Semantics and Specification Language (DSSSL) is an international standard developed to provide 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. DSSSL does not standardize the back-end formatters that generate the language's output. Such formatters may render the output for on-screen display, or write it to a computer file in a specific format (such as PostScript or Rich Text Format).

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 JTC 1/SC 34 (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.

DSSSL is compatible with any SGML-based document type, but it has been used most often with DocBook. In 1997, software engineer Geir Ove Grønmo published a syntax highlighting language definition for KEDIT.

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 to be 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.

Sometime in or before 1994, Opera Software began drafting a "DSSSL Lite" specification for the consideration of the World Wide Web Consortium, since DSSSL was thought to be too complex for the World Wide Web.