A posting from Carsten Ziegeler announces Apache Cocoon version 2.0 as the "first stable release of the 'next generation' of Apache Cocoon. This 2.0 release of the Cocoon XML publishing framework represents a complete rewrite of the first generation, removing all of the design constraints that emerged during almost three years of worldwide use. This new release is considered stable in both implementation and on the API it provides." Cocoon is an XML publishing framework that "allows you to define XML documents and transformations to be applied on them, and to eventually generate a presentation format of your choice in HTML, PDF, SVG, etc. Cocoon relies on a pipeline model: an XML document is pushed through a pipeline that exists in several transformation steps of your document. Every pipeline begins with a generator, continues with zero or more transformers, and ends with a serializer. This can be compared to the 'servlet-chaining' concept of a servlet engine."
Cocoon pipeline components: "The Generator is the starting point for the pipeline. It is responsible for delivering SAX events down the pipeline. The simplest Generator is the FileGenerator: it takes a local XML document, parses it, and sends the SAX events down the pipeline. A Transformer can be compared to an XSL: it gets an XML document (or SAX events), and generates another XML document (or SAX events). The simplest Transformer is the XalanTransformer: it applies an XSL to the SAX events it receives. A Serializer is responsible for transforming SAX events to a presentation format. For actors looking at the back of the pipeline, it looks like a static file is delivered. So a browser can receive HTML, and will not be able to tell the difference with a static file on the filesystem of the server. We have Serializers for generating HTML, XML, PDF, VRML, WAP, and of course you can create your own. The simplest Serializer is the XMLSerializer: it receives the SAX events from up the pipeline, and returns a 'human-readable' XML file."
"Apache Cocoon is an XML publishing framework that raises the usage of XML and XSLT technologies for server applications to a new level. Designed for performance and scalability around pipelined SAX processing, Cocoon offers a flexible environment based on the separation of concerns between content, logic and style. A centralized configuration system and sophisticated caching top this all off and help you to create, deploy and maintain rock-solid XML server applications."
"Cocoon interacts with most data sources, including: filesystems, RDBMS, LDAP, native XML databases, and network-based data sources. It adapts content delivery to the capabilities of different devices like HTML, WML, PDF, SVG, RTF just to name a few. Cocoon currently runs as a Servlet or from a powerful commandline interface. The chosen design of an abstracted environment gives you the freedom to implement your own concrete environment to suit your required functionality."
Principal references:
- Announcement 2001-11-29: "Apache Cocoon 2.0 Release."
- Apache Cocoon web site
- Cocoon overview
- Apache Cocoon Public Software License Version 1.1
- Cocoon Two Idiots Guide (cTwIG)
- Cocoon download
- Apache XML Project
- See also: "XSL/XSLT Software Support" - Main reference page.