Apache Cocoon
This article needs additional citations for verification. (May 2022) |
Apache Software Foundation | |
Stable release | 2.2.0
/ May 15, 2008 |
---|---|
Repository | |
Written in | Apache License 2.0 |
Website | cocoon |
Apache Cocoon, usually abbreviated as Cocoon, is a
Sitemap
Apache Cocoon uses sitemaps to allow users to control a variety of components in the Cocoon software, as well as define the client-server interactions in what Cocoon refers to as the Pipelines.
Components
The components within Cocoon are grouped by function.
Matchers
Matchers are used to match user requests such as
Generators
Generators create a stream of data for further processing. This stream can be generated from an existing XML document or there are generators that can create XML from scratch to represent something on the server, such as a directory structure or image data.
XSP
One type of generator is an XML Server Page (XSP), an XML document containing tag-based directives that specify how to generate dynamic content at request time. Upon Cocoon processing, these directives are replaced by generated content so that the resulting, augmented XML document can be subject to further processing (typically an XSLT transformation). XSPs are transformed into Cocoon producers, typically as Java classes, though any scripting language for which a Java-based processor exists could also be used.
Directives can be either built-in ("XSP") or user-defined processing tags, both of which are defined in logic sheets. Tags are defined using XSLT templates that describe how the tags (represented as XML nodes) are transformed into other XML nodes or into procedural code such as Java. The tags are used to embed procedural logic, substitute expressions, retrieve information from the webserver environment, and other operations.
Note that XSP is deprecated in recent releases of Cocoon.[citation needed]
Transformers
Transformers take a stream of data and change it in some way. The most common transformations are performed with XSLT to change one XML format into another. But there are also transformers that take other forms of data (SQL commands for example).
Serializers
A serializer turns an XML event stream into a sequence of bytes (such as HTML) that can be returned to the client. Some serializers allow you to send the data in many different formats including
Selectors
Selectors offer the same capabilities as a switch statement. They are able to select particular elements of a request and choose the correct pipeline part to use.
Views
Views are mainly used for testing. A view is an exit point in a pipeline. You can put out the XML-Stream which is produced till this point. So you can see if the application is working right.
Readers
Publish content without parsing it (no XML processing). Used for images and such.
Actions
Actions are Java classes that execute some business logic or manage new content production.
The Pipeline
A
See also
- Reactor pattern - the design pattern that Cocoon is based on.
- XProc - a W3C Standard for modelising of XML pipeline.
References
- ^ "An Introduction to Apache Cocoon 2.1". Developer.com. 2003-10-24. Retrieved 2022-05-26.