Pycoon

 

Introduction to Pycoon

Page history last edited by anrienord 2 yrs ago

Introduction to Pycoon

 

The current trunk version of Pycoon is based on Apache HTTP Server and mod_python. The Pycoon handler module is assigned to an Apache server or VirtualHost and uses an XML-encoded sitemap document to define pipelines and associate them with URI patterns.

 

Pipelines consist of chains of components which either handle XML data or allow logical processing to take place. XML processing components include: generate components which appear at the beginning of pipelines and create XML data from various sources including files, databases and XPath expressions; transform components which manipulate the current XML element tree in the pipeline and include XSLT and SAX transformations; and serialize components which convert the element tree in the pipeline into a character stream ready to be returned to the client and include HTML and SVG rasterization.

 

Logical processing pipeline components allow pipeline processing to be made conditional on parameters other than just the request URI, including browser identity, browser class, client language and (in the future) session variables.

 

Pycoon differs from its motivation project, Cocoon, in a number of ways. Where Cocoon generally defines only one pipeline and builds it dynamically upon each request, Pycoon sitemaps consist of one pipeline per HTTP request pattern [Update: this has been altered to be more like Cocoon by using matcher components]. Cocoon pipelines consist of streams of SAX events, while Pycoon uses effbot's ElementTree classes to hold the XML data in its pipelines. Cocoon is Java-based and requires a Servlet engine to run, while Pycoon is Python-based and runs inside the popular Apache web server using mod_python.

 

Please see code and documentation for further details.

 

See also

 

Comments (0)

You don't have permission to comment on this page.