You want the lighter debug solution of a pipeline ? Try the "debug" serializer.
* FG: – FredericGlorieux
Insert/Delete it everywhere in your pipe (for now this bad practice is not yet forbid by cocoon) like that
<map:match="**"> <map:generate ...> <map:transform ...> <map:transform ...> <!-- till here it works --> <map:transform ...> <!-- this step don't send what I need, lets serialize now to see what there is --> <map:serialize type="debug"> <map:transform ...> <map:transform ...> <map:serialize ...> </map:match>
What is it ? Nothing more than a default XML serializer to declare, with some simple parameters to precise. Never read it in the doc, but found it in the code : the XML serializer use your default xsl engine to get text from SAX events.
<map:serializer name="debug" mime-type="text/plain" src="org.apache.cocoon.serialization.XMLSerializer"> <indent>yes</indent> </map:serializer>
view a one Mo xml file in your browser ? By server or client, it's always an XSL transform to HTML "pretty-view", expensive. Also, usually you need to verify the source to check <!\[CDATA\]>, &entities;, or xmlns="" declarations.
<xsl:output method="xml" indent="yes" encoding="UTF-8" doctype-public="" doctype-system="" .../>, you have your quite pretty view, depending on your XSL engine (Saxon do good work on that), but without colors.
<?xml version="1.0" encoding="UTF-8"?>, it forget mime-type and render as XML. This not conformant behavior is not a so big problem, because IE is faster than moz on XML display, and are there lots of cocoon users debugging with IE ?