What

You want the lighter debug solution of a pipeline ? Try the "debug" serializer.

Who

* FG: – FredericGlorieux

How

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>
  • Take note of this detail, the sended mime-type to the browser is "text-plain". Why ? Have you ever try to

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.

  • And about indent option, it's a bit like in your XSL when you precise <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.

Known Issues

  • If brower (Firefox or IE) see an xmlns="http://www.w3.org/1999/xhtml", they try to render as HTML
  • If IE (not moz) see an XML header like that <?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 ?

Changes

  • <<Date(2004-07-14T15:01:17Z)>>:#FG Creation

References

xsl:output

See also

<<FullSearch>>

<<PageList(debug)>>
<<PageList(xfolio)>>

  • No labels