pipeline:serialize

Purpose

Lists any contained markup to an XML file that you can examine to help debugging pipeline output. The events are forwarded straight on to the rest of the pipeline.

Note:

You should ensure that you use distinct fileSuffix attribute values for any nested serialize elements that will be processed in a single operation. Otherwise output may fail or be overwritten owing to filename duplication.

Attributes

Attribute Description Type Default Options Use
active Indicates whether debugging is active or not. If set to false there is very little impact on performance. xs:boolean none    optional 
fileSuffix The file extension for the XML serialized file. It is appended to the prefix specified when the pipeline was created to create the file name. If not specified, debugging is treated as inactive. xs:string none    optional 

Examples

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/2002/06/xhtml2"
  xmlns:pipeline="http://www.volantis.com/xmlns/marlin-pipeline"
  xmlns:webd="http://www.volantis.com/xmlns/marlin-web-driver">
  <head>
    <title>pipeline:serialize</title>
  </head>
  <body>
    <div>
      <pipeline:serialize active="true" fileSuffix="server.xml">
        <pipeline:transform href="test.xsl">
          <webd:get url="http://weather.yahooapis.com/forecastrss">
            <webd:parameters>
              <webd:parameter name="p" value="USWA0395"/>
              <webd:parameter name="u" value="c"/>
            </webd:parameters>
          </webd:get>
        </pipeline:transform>
      </pipeline:serialize>
    </div>
  </body>
</html>

The test.xsl transform should contain the following code.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0"
  xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
  <xsl:output method="xml"/>
  <xsl:template match="/">
    <div xmlns="http://www.w3.org/2002/06/xhtml2">
      <h3>
        <xsl:value-of select="/rss/channel/item/title"/>
      </h3>
      <p>Current Conditions: <xsl:value-of select="/rss/channel/item/yweather:condition/@text"/>,
        <xsl:value-of select="/rss/channel/item/yweather:condition/@temp"/>
        <xsl:value-of select="/rss/channel/yweather:units/@temperature"/>.</p>
    </div>
  </xsl:template>
</xsl:stylesheet>

The debug-output element in the pipeline-configuration section of the mcs-config.xml file defines a directory to contain the debug output file.

<pipeline-configuration>
  ...
  <debug-output
    directory="${MCS_HOME}/webapps/mcs.war/test/"/>
</pipeline-configuration>

Related topics