This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

XDV has been renamed to Diazo. Equivalent WSGI middleware is part of the Diazo package. Visit the Diazo website or the Diazo PyPI page for further information.

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: a URI or path to a theme HTML file

In addition, it can take several optional parameters:

  • absolute_prefix: if given, relative urls in the theme file will be made
    into absolute links with this prefix.
  • notheme: a set of regular expression patterns (or just simple names) that
    will be matched against the incoming path to allow the theme to be switched off for some paths. Multiple patterns should be separated by newlines.
  • 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 = %(here)s/static/index.html
rules = %(here)s/static/rules/default.xml
notheme =
    /emptypage

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

Changelog

1.0b8 - 2010-08-22

  • use lxml.html.tostring instead of lxml.tostring for output to avoid empty tags like <script/>, which confuses browsers [tomster]

1.0b7 - 2010-08-19

  • Use lxml for web resolving. [elro]
  • Remove xdvcompiler.py (this is now in xdv) [elro]
  • Apply patch from Lukas Zdych to fix absolute prefix. [optilude]
  • Added through the web resolving of the rules file. [Marshall Scorcio]

1.0b6 - 2009-10-27

  • Updated xdv compiler [lrowe]

1.0b5 - 2009-10-12

  • Re-licensed to the BSD license. [optilude]
  • Added support for the extrauri parameter. [Matous Hora]

1.0b4 - 2009-03-30

  • Renamed the ‘theme_uri’ parameter to just ‘theme’, since it also allows filenames. [optilude]
  • Added support for declaring some unthemed URLs via the ‘notheme’ option, based on pattern patching. [optilude]
  • Fixed various Windows related bugs. [optilude]

1.0b3 - 2009-03-26

  • We now allow local file paths as the theme uri, and let compiler.xsl pick its own boilerplate.xsl by default if none is given. [optilude]

1.0b2 - 2009-02-25

  • Added console script for compiling the theme offline [optilude]

1.0b1 - 2009-02-24

  • Initial release
Release History

Release History

1.0b8

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0b7

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0b6

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0b5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0b4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0b3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0b2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0b1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
dv.xdvserver-1.0b8.zip (12.1 kB) Copy SHA256 Checksum SHA256 Source Aug 22, 2010

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting