Experimental DSSSL extensionsContents
IntroductionThis document descibes some
experimental extensions to DSSSL that are implemented in OpenJade.
These are designed so that, with these
extensions, DSSSL provides a superset of the semantics XSL for flow
object tree construction. OpenJade has a These extensions do not include the additional flow object classes and characteristics that will be needed for XSL; in particular they do not include the HTML/CSS flow object classes. Imperative programmingThe following features come from R4RS:
The use of side-effects is restricted. Assignment to top-level variables is not allowed. There is also the concept that a memory location can be read-only. When a memory location is read-only, it is an error to change that location. An memory location can be recursively marked as read-only; this means that the memory location along with all memory locations reachable from that memory location become read-only. A memory location is recursively marked as read-only when:
A continuation created with There's a Style rulesWhen a construction rule has a keyword argument list instead of a construct expression it is treated as a style rule. For example, (element H1 font-size: 14pt font-weight: 'bold) The keyword argument list can
include a Extended patternsThe syntax for element patterns is
extended. These provide provide a superset of the
semantics of XSL patterns. They are allowed both in
element construction rules and in contexts where a A pattern is either a single gi or a list. A list consists of a sequence of gis, where each gi can be followed by one or more keyword/value pairs (where the value is always a single datum). A gi can be #t, a string or a symbol. The following keywords are allowed:
|