Maybe the title of this article is not very well chosen.

What I mean by this term is a site that contains of sections with different configurable layout options like colors, images and so on.

Directory Structure

It seems to be a good practise to organize the directory structure not logically (content, presentation, logic, ...) but in a technical way (content, xslt, xsp, ...). That makes it easier to decide where to put certain files.

We're using the following proven directory structure:

/webapp
    /config
        /style.xml
    /content
    /xslt
        /navigation
        /svg
    /resources
        /css
        /images
        /schema
            /catalog
            /DTD

Central Configuration File

To keep the configuration of your site layout consistent and easy to maintain, it is recommended to store all configurable presentation options at the same location.

In our example, the file config/style.xml is used as the configuration file for all style parameters of the website.

Dynamic SVG Images

Images that are based on the configurable colors, fonts, etc. must be generated dynamically. SVG is a perfect solution for this task.

There are several possibilities to generate SVG images based on a configuration file:

  • Static SVG files. The values are inserted during a transformation
    step, either using the document() function to load the configuration
    file or via sitemap parameters that are passed to the XSLT.
  • XSPs that read the configuration file and produce appropriate
    SVG code.
  • A transformation step that generates the SVG using the configuration
    file as input.

We're using the latter solution for our example because it makes the configuration data flow very transparent.

Dynamic CSS Files

  • No labels