

CSS selectors are replaced by the equivalent XPath selector during the pre-processing step of the compiler.Īdvanced features include: conditions based on content nodes or paths, with grouping and nesting multiple, conditional themes modifying the theme or content on the fly inline XSL directives Doctype changes XInclude protocol.This sign was spotted by Stuart Houghton in the window of a butcher's shop in the town of Colac, Victoria. The basic directives of Diazo include: replace (replace a node or attribute in the theme with that from content), before and after (insert a node before or after another), drop (delete a node or attribute), strip (remove a tag but not its child nodes), merge, and copy.Ī node, node's children or attribute, can be selected with either XPath selectors or CSS3 selectors. Diazo has become the de facto standard for theming in Plone 4 and is included in Plone 4.2 and later. Diazo originally implemented only a subset of the features in Deliverance, but now has similar features, although their configuration language is not completely compatible. Also dv.xdvserver was renamed to DiazoMiddleware.ĭiazo is based on DVNG, a prototype version of xdv. A major motivation for the name change was to reduce ambiguity, as the XDV name was used by both collective.xdv (a Plone-specific theming package, now called ) and by the stand-alone XDV tools (now called Diazo). The name change to Diazo (from xdv) was announced at the Plone conference 2010. Where Deliverance would handle the HTML transformation in Python, Diazo generates XSLT which can then be used to defer the actual transformation to faster XSLT engines. History and naming ĭiazo was originally a reimplementation of an earlier software called Deliverance. The strict requirement can be relaxed, however, if a patched version of Nginx is used.

Nginx has an XSLT processor, but, as of March 2012, it requires the unthemed website (the content) to use strict XHTML. WSGI also has more direct Diazo support: the DiazoMiddleware filter will compile and cache Diazo themes on the fly. The Diazo compiler generates XSLT, which can be deployed on any proxying web server with an XSLT processor such as Apache (using mod_transform), Varnish, or WSGI.
