First page Back Continue Last page Overview Text

Notes:


Scheme environments exist for most platforms, from the Palm up to big mainframes, using interpreters, compilers and everything in between (byte compilers, hotspot compiler/interpreter hybrids, etc). If you can't get a good scheme environment installed on your web host, it is possible to run inside a Java VM (eg Kawa) or compile to Java bytecode (eg Bigloo). Scheme systems can normally communicate with native libraries for the system or VM that they are running on, allowing use of C libraries or JDBC (for example).

Scheme is a Lisp, derived from 1950s programming theory and the first place to have many of the facilities we now expect of programming languages (GC, Closures, Continuations [possible futures for program, Schroedinger's cat])

Common data type in Scheme is the list. You can recursively have lists as elements in lists and represent trees of data very easily.

SSAX is actually just one building block for handling XML, converting it from an input stream to a Scheme tree structure. Transformation by example is an alternative model to transformation by declaration (used in XSLT). Instead of trying to declare the structure you want to transform with XPath, you write out the structure you wish to match and then the structure you wish to transform it to.

REST stands for REpresentation State Transfer and is a recent embodiment of the general (controversial) idea that all state data for a web application should be represented in the URL and HTTP GET/POST parameters. This applies to both applications (instead of using cookies) and protocols (instead of using XML-RPC, SOAP et al).

While many XML parsers simply fail for invalid input, SSAX allows you to attempt to rescue the data and correct the errors if required. It is a useful option to have, but is usually a bad idea. (If the data structure markup is mangled, do you think the data itself is intact?)