Table of Contents
Marmot allows designers to customize the appearance of the Presentation Layer's output via themes. Marmot comes with several example themes that are intended to demonstrate the power of the Presentation Layer / theme combination. The examples can also be used as templates when creating new themes.
Marmot themes are defined by XSLT and CSS files. A good undertanding of these technologies is required to create new themes.
Extensible Stylesheet Language Transformations (XSLT) is a language for transforming XML documents into other XML documents. XSLT give designers much more power than other templating systems because XSLT can be used to apply display logic. For example, designers can create if/then/else conditions based on the content of the document being transformed.
When a programmer invokes Marmot's presentation layer, Marmot internally builds an XML document. An XSLT is then used to transform this generic document into the themed output document. (Marmot currently produces HTML/XHTML output, but could also produce output in WML, PDF, VRML, or any other text-based format.)
Cascading Style Sheets (CSS) is a simple mechanism for adding style (e.g. fonts, colors, spacing) to Web documents.
There are three kinds of CSS used in Marmot: system-wide, theme-specific, and application-specific.
Table B.1. CSS files used by Marmot
| system-wide | called by all themes, contains common styles |
| theme-specific | called by one theme, contains styles specific to that theme, can override styles defined in the system-specific CSS file |
| application-specific | called by one application, contains styles specific to that application, can override styles defined in the system-specific or theme-specific CSS files |