At the end of the pipeline, different Serializers can generate different output formats, provided they're fed the right data (i.e. the required XML elements and namespaces).
Let's generate a simple graph out of of our request parameters. If your have an SVG plugin in your browser you can view the result: red/request.svg or blue/request.svg. If you don't have an SVG plugin see below for the bitmapped version of the same image.
Here we show only the main template wich generates the SVG skeleton
Post-processing the SVG output allows us to generate JPEG (cyan/request.jpeg) or PNG (black/request.png) images, simply by configuring a different serializer at the end of the pipeline.
Note the use of the cocoon:/ protocol to re-use the previous pipeline as input: when a request to blue/request.png is received, the output of the blue/request.svg is used as the input of the first pipeline shown below.