Introduction
============

dv.xdvserver is a simple piece of WSGI middleware that can execute the two
step compile-and-run XSLT transforms of xdv.

It takes two required parameters:

 - rules: a path to a file containing Deliverance rules
 - theme_uri: a URI to a theme HTML file

In addition, it can take several optional parameters:

 - live: set to True to recompile the theme on each request, rather than on
    startup only.
 - compiler: a path to the XSLT file that can turn theme+rules into a compiled
    theme. The default, bundled version will probably suffice in most cases.
 - boilerplate: a path to the XSLT file that contains boilerplate XSLT
    instructions. The default, bundled version will probably suffice in most
    cases.
    
Configuration
=============

You can use this middleware in a Paste Deploy pipeline. Here is an example 
configuration file of an application that themes a Plone site running on
http://localhost:8080/demo. Static resources are served from /static.

    [server:main]
    use = egg:Paste#http
    host = 127.0.0.1
    port = 5000

    [composite:main]
    use = egg:Paste#urlmap
    /static = static
    / = default

    [app:static]
    use = egg:Paste#static
    document_root = %(here)s/static

    [pipeline:default]
    pipeline = egg:Paste#cgitb
               egg:Paste#httpexceptions
               theme.default
               zope.proxy

    [filter:theme.default]
    use = egg:dv.xdvserver#xdv
    theme_uri = file://%(here)s/static/index.html
    rules = %(here)s/static/rules/default.xml

    [app:zope.proxy]
    use = egg:Paste#proxy
    address = http://localhost:8080/VirtualHostBase/http/localhost:5000/demo/VirtualHostRoot/