6.1 Areas of Standardization
DSSSL provides four distinct areas of standardization:  

1.  A language and processing model for transforming one or more SGML documents into zero or more other SGML documents.

This is called the transformation language. This transformation is controlled by the transformation-specification.  A transformation-specification contains a list of associations. An association contains up to three parts: the query-expressions, the transform-expressions, and the optional priority-expressions.  Functionally, this specification allows the user to specify the creation of new structures, the replication of existing structures, and the reordering and regrouping of existing structures.

2.  A language for specifying the application of formatting characteristics onto an SGML document.

The process that applies formatting and other formatting-related processing characteristics to an SGML document is called the formatting process.   This process is controlled by the style-specification. A style-specification contains a sequence of construction rules. There are several kinds of construction rules.  For more details, refer to section 12.4.1, Construction Rules.  


It is important to note that for the DSSSL style language and the associated formatting process, DSSSL does not standardize the process itself, but merely standardizes the form and semantics of the style language controlling a portion of the process.  The remaining formatting functions, such as line-breaking, column-breaking, page-breaking, and other aspects of whitespace distribution, are not standardized and are under control of the formatter.

3.  A query language, Standard Document Query Language, used for identifying portions of an SGML document.

SDQL is part of both the DSSSL transformation language and the DSSSL style language.  It is used for navigating through the hierarchical structure of the SGML document, identifying the relevant pieces of the SGML markup and content on which processing is to be performed. SDQL adds additional data types to the DSSSL expression language.  In addition to the full query language, this International Standard defines a subset called the core query language. For more information on the core query language, see section 10.2.4, Core Query Language. For a complete discussion of the full SDQL, see clause section 10, Standard Document Query Language.

4.  An expression language.

The DSSSL expression language is used in SDQL, the DSSSL transformation language, and the DSSSL style language. It is used to create and manipulate objects.  In addition to the full expression language, this International Standard defines a subset called the core expression language. See section 8.6, Core Expression Language.  The DSSSL expression language is based on the Scheme Programming Language as defined in the IEEE Scheme standard, R4RS.  DSSSL uses only the functional, side-effect free subset of Scheme.  See clause section 8, Expression Language for a complete discussion of the DSSSL expression language.