When Skribe produces a document in a given format, it uses a
specialize engine. For instance, when a Web page is made from a Skribe
document, the HTML engine is used. The engines provided by Skribe are
given below:
9.1 Functions dealing with engines
|
The function make-engine creates a brand new engine.
| prototype |
(make-engine [:version #unspecified] [:format "raw"] [:filter] [:delegate] [:symbol-table '()] [:custom '()] [:info '()] ident) |
| version | | The version number. |
| format | | The output format (a string) of this engine. |
| filter | | A string filter (a function). |
| delegate | | A delegate engine. |
| symbol-table | | The engine symbol table. |
| custom | | The engine custom list. |
| info | | Miscellaneous. |
ident | The name (a symbol) of the new engine. |
The function copy-engine duplicates an existing engine.
| prototype |
(copy-engine [:version #unspecified] [:filter] [:delegate] [:symbol-table] [:custom] ident e) |
| version | | The version number. |
| filter | | A string filter (a function). |
| delegate | | A delegate engine. |
| symbol-table | | The engine symbol table. |
| custom | | The engine custom list. |
ident | The name (a symbol) of the new engine. |
e | The old engine to be duplicated. |
The find-engine function searches in the list of defined
engines. It returns an engine object on success and #f
on failure.
| prototype |
(find-engine [:version #unspecified] id) |
| version | | An optional version number for the searched engine. |
id | The name (a symbol) of the engine to be searched. |
The predicate engine? returns #t if its
argument is an engine. Otherwise, it returns #f. In other words,
engine? returns #t for objects created by
make-engine, copy-engine, and find-engine.
| prototype |
(engine? obj) |
obj | The checked object. |
The following functions return information about engines.
| prototype |
(engine-ident obj) |
(engine-format obj) |
(engine-customs obj) |
(engine-filter obj) |
(engine-symbol-table obj) |
obj | The engine. |
Engine customs are locations where dynamic informations relative
to engines can be stored. Engine custom can be seen a global variables that
are specific to engines. The function engine-custom returns the
value of a custom or #f if that custom is not defined. The
function engine-custom-set! defines or sets a new value for
a custom.
| prototype |
(engine-custom e id) |
e | The engine (as returned by
find-engine). |
id | The name of the custom. |
| prototype |
(engine-custom-set! e id val) |
e | The engine (as returned by
find-engine). |
id | The name of the custom. |
val | The new value of the custom. |