This release has been languishing in a not-quite-well-packaged state for over a year. I've released it due to popular demand, but with minimal testing and no guarantees it will build in your environment. See the README file for details.
This tool, which embeds a full R4RS Scheme interpreter in James Clark's SP parser, is designed both to provide an online syntax checker for all DSSSL expression, style and transformation language programs, and to serve as a preprocessor for any Scheme-embedded DSSSL implementation. Virtually the entire language as specified in chapters 8 through 12 of the standard is checked for syntactic correctness, and a virtually complete implementation of the core expression language is included, as is the first-ever (as far as I know) implementation of the DSSSL transformation language.
This is a UNIX-only release, tested so far under SunOS 5.
You will find DSC of interest if you are:
You can download DSC by ftp.
My thanks to SunSoft for providing partial support for producing this tool.
This package provides an online syntax checker for DSSSL style and transform specifications. It implements the full semantics of the DSSSL standard regarding specification files, composing a specification body from one or more files conforming to the DSSSL architectural form, then mapping from the specification body (i.e. sequences of expression language forms) to a reordered normalised form thereof and loading the result into a Scheme interpreter with access to a document source grove.
Comprehensive and detailed error messages, based on a large database of information about the calling sequences for all specification language functions and forms are logged to stderr, together with (optionally) information about feature usage.
The semantics of the style language is not implemented, but the query and transformation languages are implemented, as is the core expression language, together with a number of optional compenents, with two exceptions: only 8-bit characters with single-character names are supported, and the functions `time' and `time->string' are not implemented.
dsc is built on top of SP-1.3.1, and all the command line options for e.g. spam are available. However, as not one but two sgml documents are required for DSSSL processing, the DSSSL specification and the source document, two sets of switches and system ids can be provided: