<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Xalan-C++ API : Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<!-- The head section is copied from Doxygen 1.7.1 generated default output -->
<body>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center"><a href="../index.html">The Xalan C++ XSLT Processor Version 1.11</a></h3>
<hr/>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<h1>XSLTProcessor Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="XSLTProcessor" --><!-- doxytag: inherits="ProblemListenerBase" -->
<p>This is an interface for an XSLT Processor engine.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="XSLTProcessor_8hpp_source.html">XSLTProcessor.hpp</a>&gt;</code></p>

<p>Inherits <a class="el" href="classProblemListenerBase.html">ProblemListenerBase</a>.</p>

<p>Inherited by <a class="el" href="classXSLTEngineImpl.html">XSLTEngineImpl</a>.</p>
<div class="dynheader">
Collaboration diagram for XSLTProcessor:</div>
<div class="dyncontent">
<div class="center"><img src="classXSLTProcessor__coll__graph.png" border="0" usemap="#XSLTProcessor_coll__map" alt="Collaboration graph"/></div>
<map name="XSLTProcessor_coll__map" id="XSLTProcessor_coll__map">
<area shape="rect" id="node2" href="classProblemListenerBase.html" title="This is the abstract class that is used when reporting a problem some kind, that requires a message..." alt="" coords="5,5,163,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classXSLTProcessor-members.html">List of all members.</a></p>
<h2><a name="pub-types"></a>
Public Types</h2>
<ul>
<li>typedef XalanSize_t <a class="el" href="classXSLTProcessor.html#a1132188b2bd042ae067d9046768e7ea0">size_type</a>
</ul>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classXSLTProcessor.html#aa722032af91e6b546bd82f921c8eb7e1">XSLTProcessor</a> ()
<li>virtual <a class="el" href="classXSLTProcessor.html#a0d0bc14e78e7d7a53f3f16b1791105cd">~XSLTProcessor</a> ()
<li>virtual void <a class="el" href="classXSLTProcessor.html#a32cdd44c9a0526968af2d3071793799c">problem</a> (<a class="el" href="classProblemListenerBase.html#ae363b5e4919bbe4e41f6b2c1b322ee7c">eSource</a> source, <a class="el" href="classProblemListenerBase.html#a1fec6cce6cc3429e200355330a41152a">eClassification</a> classification, const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;msg, const Locator *locator, const <a class="el" href="classXalanNode.html">XalanNode</a> *sourceNode)=0
<dl class="el"><dd class="mdescRight"><a class="el" href="classFunction.html">Function</a> that is called when a problem event occurs.  <a href="#a32cdd44c9a0526968af2d3071793799c"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#a18652e7bb4ca4be7dc59c0bfb6c72a69">problem</a> (<a class="el" href="classProblemListenerBase.html#ae363b5e4919bbe4e41f6b2c1b322ee7c">eSource</a> source, <a class="el" href="classProblemListenerBase.html#a1fec6cce6cc3429e200355330a41152a">eClassification</a> classification, const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;msg, const <a class="el" href="classXalanNode.html">XalanNode</a> *sourceNode)=0
<dl class="el"><dd class="mdescRight"><a class="el" href="classFunction.html">Function</a> that is called when a problem event occurs.  <a href="#a18652e7bb4ca4be7dc59c0bfb6c72a69"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#aa128d3d0e49564b42ccfff209b28a5d9">process</a> (const <a class="el" href="classXSLTInputSource.html">XSLTInputSource</a> &amp;inputSource, const <a class="el" href="classXSLTInputSource.html">XSLTInputSource</a> &amp;stylesheetSource, <a class="el" href="classXSLTResultTarget.html">XSLTResultTarget</a> &amp;outputTarget, <a class="el" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a> &amp;constructionContext, <a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp;executionContext)=0
<dl class="el"><dd class="mdescRight">Transform the source tree to the output in the given result tree target.  <a href="#aa128d3d0e49564b42ccfff209b28a5d9"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#a580e655ec2319944d728db1b3e52c5d3">process</a> (const <a class="el" href="classXSLTInputSource.html">XSLTInputSource</a> &amp;inputSource, <a class="el" href="classXSLTResultTarget.html">XSLTResultTarget</a> &amp;outputTarget, <a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp;executionContext)=0
<dl class="el"><dd class="mdescRight">Transform the source tree to the output in the given result tree target.  <a href="#a580e655ec2319944d728db1b3e52c5d3"></a><br/></dl><li>virtual <a class="el" href="classStylesheetRoot.html">StylesheetRoot</a> * <a class="el" href="classXSLTProcessor.html#a8604d92cf530b9ef56d6388914794a2e">processStylesheet</a> (const <a class="el" href="classXSLTInputSource.html">XSLTInputSource</a> &amp;stylesheetSource, <a class="el" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a> &amp;constructionContext)=0
<dl class="el"><dd class="mdescRight">Given a stylesheet input source, compile the stylesheet into an internal representation.  <a href="#a8604d92cf530b9ef56d6388914794a2e"></a><br/></dl><li>virtual <a class="el" href="classStylesheetRoot.html">StylesheetRoot</a> * <a class="el" href="classXSLTProcessor.html#ab926ba0cf7a677393157472e06bc01b2">processStylesheet</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;xsldocURLString, <a class="el" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a> &amp;constructionContext)=0
<dl class="el"><dd class="mdescRight">Given a URI to an XSL stylesheet, compile the stylesheet into an internal representation.  <a href="#ab926ba0cf7a677393157472e06bc01b2"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#aca7a6030b4866fb79ac98f42263328ab">reset</a> ()=0
<dl class="el"><dd class="mdescRight">Reset the state.  <a href="#aca7a6030b4866fb79ac98f42263328ab"></a><br/></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a> * <a class="el" href="classXSLTProcessor.html#a69fa1386fd3b583e97b2cba6db766c50">getSourceTreeFromInput</a> (const <a class="el" href="classXSLTInputSource.html">XSLTInputSource</a> &amp;inputSource)=0
<dl class="el"><dd class="mdescRight">Given an input source, get the source tree.  <a href="#a69fa1386fd3b583e97b2cba6db766c50"></a><br/></dl><li>virtual const <a class="el" href="classStylesheetRoot.html">StylesheetRoot</a> * <a class="el" href="classXSLTProcessor.html#a953e88bda77cb2cda6804ab7f16fb4ce">getStylesheetRoot</a> () const =0
<dl class="el"><dd class="mdescRight">Retrieve the root stylesheet.  <a href="#a953e88bda77cb2cda6804ab7f16fb4ce"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#a016ef7b59e20424534657c76ae660f71">setStylesheetRoot</a> (const <a class="el" href="classStylesheetRoot.html">StylesheetRoot</a> *theStylesheet)=0
<dl class="el"><dd class="mdescRight">Set the root stylesheet.  <a href="#a016ef7b59e20424534657c76ae660f71"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#a1aa46b8920c13dd0105011e252027a44">setExecutionContext</a> (<a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> *theExecutionContext)=0
<dl class="el"><dd class="mdescRight">Set the execution context.  <a href="#a1aa46b8920c13dd0105011e252027a44"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#a17bb6fdc0e75d511cd33b40b1db98901">resolveTopLevelParams</a> (<a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp;executionContext)=0
<dl class="el"><dd class="mdescRight">Resolve the params that were pushed by the caller.  <a href="#a17bb6fdc0e75d511cd33b40b1db98901"></a><br/></dl><li>virtual <a class="el" href="classXMLParserLiaison.html">XMLParserLiaison</a> &amp; <a class="el" href="classXSLTProcessor.html#a4be31218c5922969b0ff1f4dc64382e3">getXMLParserLiaison</a> () const =0
<dl class="el"><dd class="mdescRight">Get the XML Parser Liaison that this processor uses.  <a href="#a4be31218c5922969b0ff1f4dc64382e3"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#aeeb80eb7280fb09a3490ad8ccac75b9c">getUniqueNamespaceValue</a> (<a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;theValue)=0
<dl class="el"><dd class="mdescRight">Generate a random namespace prefix guaranteed to be unique.  <a href="#aeeb80eb7280fb09a3490ad8ccac75b9c"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#ad0b123f2db16b96cc18cb61498202d51">setStylesheetParam</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;key, <a class="el" href="classXObjectPtr.html">XObjectPtr</a> value)=0
<dl class="el"><dd class="mdescRight">Set a top-level parameter, which the stylesheet can access with a top-level xsl:param.  <a href="#ad0b123f2db16b96cc18cb61498202d51"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#ac26367dd2eb9481c7352f4d2deca5f9a">setStylesheetParam</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;key, const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;expression)=0
<dl class="el"><dd class="mdescRight">Set a top-level parameter, which the stylesheet can access with a top-level xsl:param.  <a href="#ac26367dd2eb9481c7352f4d2deca5f9a"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#ae2ec04b2dbf354d5f4089b7907153f1b">clearStylesheetParams</a> ()=0
<dl class="el"><dd class="mdescRight">Clear any stylesheet params.  <a href="#ae2ec04b2dbf354d5f4089b7907153f1b"></a><br/></dl><li>virtual <a class="el" href="classFormatterListener.html">FormatterListener</a> * <a class="el" href="classXSLTProcessor.html#adb66aa2c4967dd610a599979b137cee7">getFormatterListener</a> () const =0
<dl class="el"><dd class="mdescRight">Get the current formatter listener.  <a href="#adb66aa2c4967dd610a599979b137cee7"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#ad1f50309179ec7e56d583b57d7e0ea1f">setFormatterListener</a> (<a class="el" href="classFormatterListener.html">FormatterListener</a> *flistener)=0
<dl class="el"><dd class="mdescRight">Set the current formatter listener.  <a href="#ad1f50309179ec7e56d583b57d7e0ea1f"></a><br/></dl><li>virtual <a class="el" href="classXSLTProcessor.html#a1132188b2bd042ae067d9046768e7ea0">size_type</a> <a class="el" href="classXSLTProcessor.html#aa14defc9a50228530e7b85d4c9d02e6a">getTraceListeners</a> () const =0
<dl class="el"><dd class="mdescRight">Determine the number of trace listeners.  <a href="#aa14defc9a50228530e7b85d4c9d02e6a"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#a2632c441a04f892e7e595164a0a356dc">addTraceListener</a> (<a class="el" href="classTraceListener.html">TraceListener</a> *tl)=0
<dl class="el"><dd class="mdescRight">Add a trace listener for the purposes of debugging and diagnosis.  <a href="#a2632c441a04f892e7e595164a0a356dc"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#a8b6b599316f7f26b66289e59d31b2517">removeTraceListener</a> (<a class="el" href="classTraceListener.html">TraceListener</a> *tl)=0
<dl class="el"><dd class="mdescRight">Remove a trace listener.  <a href="#a8b6b599316f7f26b66289e59d31b2517"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#ae95ff1888952b60706d22b0c4e750b7a">fireGenerateEvent</a> (const <a class="el" href="classGenerateEvent.html">GenerateEvent</a> &amp;ge)=0
<dl class="el"><dd class="mdescRight">Fire a generate event.  <a href="#ae95ff1888952b60706d22b0c4e750b7a"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#ad38f0654153ef2af430f7ecab619b7f7">fireTraceEvent</a> (const <a class="el" href="classTracerEvent.html">TracerEvent</a> &amp;te)=0
<dl class="el"><dd class="mdescRight">Fire a trace event.  <a href="#ad38f0654153ef2af430f7ecab619b7f7"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#ae38991ecf1f0fc2b74dd01f01e1846c1">fireSelectEvent</a> (const <a class="el" href="classSelectionEvent.html">SelectionEvent</a> &amp;se)=0
<dl class="el"><dd class="mdescRight">Fire a selection event.  <a href="#ae38991ecf1f0fc2b74dd01f01e1846c1"></a><br/></dl><li>virtual bool <a class="el" href="classXSLTProcessor.html#aebc261b68f32bbd2226b72c73b6ac8ab">getTraceSelects</a> () const =0
<dl class="el"><dd class="mdescRight">If this is set to true, simple traces of template calls are made.  <a href="#aebc261b68f32bbd2226b72c73b6ac8ab"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#a535e53fe6d04876549ad774c25ac2059">traceSelect</a> (<a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp;executionContext, const <a class="el" href="classElemTemplateElement.html">ElemTemplateElement</a> &amp;theStylesheetElement, const <a class="el" href="classNodeRefListBase.html">NodeRefListBase</a> &amp;nl, const <a class="el" href="classXPath.html">XPath</a> *xpath) const =0
<dl class="el"><dd class="mdescRight">Compose a diagnostic trace of the current selection.  <a href="#a535e53fe6d04876549ad774c25ac2059"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#a81399ed32c5e98420f96ebdc368b7364">setQuietConflictWarnings</a> (bool b)=0
<dl class="el"><dd class="mdescRight">If the quietConflictWarnings property is set to true, warnings about pattern conflicts won't be printed to the diagnostics stream.  <a href="#a81399ed32c5e98420f96ebdc368b7364"></a><br/></dl><li>virtual void <a class="el" href="classXSLTProcessor.html#a3d5eefe9dda08597b06faf4a6b8ff147">setDiagnosticsOutput</a> (<a class="el" href="classPrintWriter.html">PrintWriter</a> *pw)=0
<dl class="el"><dd class="mdescRight">If this is set, diagnostics will be written to the m_diagnosticsPrintWriter stream.  <a href="#a3d5eefe9dda08597b06faf4a6b8ff147"></a><br/></dl></ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>This is an interface for an XSLT Processor engine. </p>
<p>It's the responsibility of the implementation of the <a class="el" href="classXSLTProcessor.html" title="This is an interface for an XSLT Processor engine.">XSLTProcessor</a> interface, collaborating with a <a class="el" href="classXMLParserLiaison.html">XMLParserLiaison</a>, the DOM, and the <a class="el" href="classXPath.html">XPath</a> engine, to transform a source tree of nodes into a result tree according to instructions and templates specified by a stylesheet tree. The methods process(...) are the primary public entry points.</p>
<p>If you reuse the processor instance, you should call <a class="el" href="classXSLTProcessor.html#aca7a6030b4866fb79ac98f42263328ab" title="Reset the state.">reset()</a> between calls. </p>

<p>Definition at line <a class="el" href="XSLTProcessor_8hpp_source.html#l00085">85</a> of file <a class="el" href="XSLTProcessor_8hpp_source.html">XSLTProcessor.hpp</a>.</p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a1132188b2bd042ae067d9046768e7ea0"></a><!-- doxytag: member="XSLTProcessor::size_type" ref="a1132188b2bd042ae067d9046768e7ea0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef XalanSize_t <a class="el" href="classXSLTProcessor.html#a1132188b2bd042ae067d9046768e7ea0">XSLTProcessor::size_type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="XSLTProcessor_8hpp_source.html#l00089">89</a> of file <a class="el" href="XSLTProcessor_8hpp_source.html">XSLTProcessor.hpp</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa722032af91e6b546bd82f921c8eb7e1"></a><!-- doxytag: member="XSLTProcessor::XSLTProcessor" ref="aa722032af91e6b546bd82f921c8eb7e1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XSLTProcessor::XSLTProcessor </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0d0bc14e78e7d7a53f3f16b1791105cd"></a><!-- doxytag: member="XSLTProcessor::~XSLTProcessor" ref="a0d0bc14e78e7d7a53f3f16b1791105cd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual XSLTProcessor::~XSLTProcessor </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a2632c441a04f892e7e595164a0a356dc"></a><!-- doxytag: member="XSLTProcessor::addTraceListener" ref="a2632c441a04f892e7e595164a0a356dc" args="(TraceListener *tl)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::addTraceListener </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTraceListener.html">TraceListener</a> *&nbsp;</td>
          <td class="paramname"> <em>tl</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a trace listener for the purposes of debugging and diagnosis. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tl</em>&nbsp;</td><td>pointer to listener to add </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae2ec04b2dbf354d5f4089b7907153f1b"></a><!-- doxytag: member="XSLTProcessor::clearStylesheetParams" ref="ae2ec04b2dbf354d5f4089b7907153f1b" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::clearStylesheetParams </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clear any stylesheet params. </p>

</div>
</div>
<a class="anchor" id="ae95ff1888952b60706d22b0c4e750b7a"></a><!-- doxytag: member="XSLTProcessor::fireGenerateEvent" ref="ae95ff1888952b60706d22b0c4e750b7a" args="(const GenerateEvent &amp;ge)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::fireGenerateEvent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGenerateEvent.html">GenerateEvent</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>ge</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fire a generate event. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ge</em>&nbsp;</td><td>generate event to fire </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae38991ecf1f0fc2b74dd01f01e1846c1"></a><!-- doxytag: member="XSLTProcessor::fireSelectEvent" ref="ae38991ecf1f0fc2b74dd01f01e1846c1" args="(const SelectionEvent &amp;se)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::fireSelectEvent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSelectionEvent.html">SelectionEvent</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>se</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fire a selection event. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>se</em>&nbsp;</td><td>selection event to fire </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad38f0654153ef2af430f7ecab619b7f7"></a><!-- doxytag: member="XSLTProcessor::fireTraceEvent" ref="ad38f0654153ef2af430f7ecab619b7f7" args="(const TracerEvent &amp;te)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::fireTraceEvent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTracerEvent.html">TracerEvent</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>te</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fire a trace event. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>te</em>&nbsp;</td><td>trace event to fire </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="adb66aa2c4967dd610a599979b137cee7"></a><!-- doxytag: member="XSLTProcessor::getFormatterListener" ref="adb66aa2c4967dd610a599979b137cee7" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classFormatterListener.html">FormatterListener</a>* XSLTProcessor::getFormatterListener </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the current formatter listener. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to formatter listener </dd></dl>

</div>
</div>
<a class="anchor" id="a69fa1386fd3b583e97b2cba6db766c50"></a><!-- doxytag: member="XSLTProcessor::getSourceTreeFromInput" ref="a69fa1386fd3b583e97b2cba6db766c50" args="(const XSLTInputSource &amp;inputSource)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXalanNode.html">XalanNode</a>* XSLTProcessor::getSourceTreeFromInput </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classXSLTInputSource.html">XSLTInputSource</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>inputSource</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given an input source, get the source tree. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>inputSource</em>&nbsp;</td><td>pointer to input source </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>source tree </dd></dl>

</div>
</div>
<a class="anchor" id="a953e88bda77cb2cda6804ab7f16fb4ce"></a><!-- doxytag: member="XSLTProcessor::getStylesheetRoot" ref="a953e88bda77cb2cda6804ab7f16fb4ce" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classStylesheetRoot.html">StylesheetRoot</a>* XSLTProcessor::getStylesheetRoot </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve the root stylesheet. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to root stylesheet </dd></dl>

</div>
</div>
<a class="anchor" id="aa14defc9a50228530e7b85d4c9d02e6a"></a><!-- doxytag: member="XSLTProcessor::getTraceListeners" ref="aa14defc9a50228530e7b85d4c9d02e6a" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXSLTProcessor.html#a1132188b2bd042ae067d9046768e7ea0">size_type</a> XSLTProcessor::getTraceListeners </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Determine the number of trace listeners. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of listeners </dd></dl>

</div>
</div>
<a class="anchor" id="aebc261b68f32bbd2226b72c73b6ac8ab"></a><!-- doxytag: member="XSLTProcessor::getTraceSelects" ref="aebc261b68f32bbd2226b72c73b6ac8ab" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool XSLTProcessor::getTraceSelects </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>If this is set to true, simple traces of template calls are made. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if traces made </dd></dl>

</div>
</div>
<a class="anchor" id="aeeb80eb7280fb09a3490ad8ccac75b9c"></a><!-- doxytag: member="XSLTProcessor::getUniqueNamespaceValue" ref="aeeb80eb7280fb09a3490ad8ccac75b9c" args="(XalanDOMString &amp;theValue)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::getUniqueNamespaceValue </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>theValue</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Generate a random namespace prefix guaranteed to be unique. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>theValue</em>&nbsp;</td><td>A string for returning the new prefix </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4be31218c5922969b0ff1f4dc64382e3"></a><!-- doxytag: member="XSLTProcessor::getXMLParserLiaison" ref="a4be31218c5922969b0ff1f4dc64382e3" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXMLParserLiaison.html">XMLParserLiaison</a>&amp; XSLTProcessor::getXMLParserLiaison </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the XML Parser Liaison that this processor uses. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>XML parser liaison object </dd></dl>

</div>
</div>
<a class="anchor" id="a32cdd44c9a0526968af2d3071793799c"></a><!-- doxytag: member="XSLTProcessor::problem" ref="a32cdd44c9a0526968af2d3071793799c" args="(eSource source, eClassification classification, const XalanDOMString &amp;msg, const Locator *locator, const XalanNode *sourceNode)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::problem </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classProblemListenerBase.html#ae363b5e4919bbe4e41f6b2c1b322ee7c">eSource</a>&nbsp;</td>
          <td class="paramname"> <em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classProblemListenerBase.html#a1fec6cce6cc3429e200355330a41152a">eClassification</a>&nbsp;</td>
          <td class="paramname"> <em>classification</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Locator *&nbsp;</td>
          <td class="paramname"> <em>locator</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classXalanNode.html">XalanNode</a> *&nbsp;</td>
          <td class="paramname"> <em>sourceNode</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="classFunction.html">Function</a> that is called when a problem event occurs. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>Either eXMLParser, eXSLProcessor, or eXPATH. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>classification</em>&nbsp;</td><td>Either eMessage, eWarning, or eError. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>locator</em>&nbsp;</td><td>The current Locator instance for the stylesheet. Maybe be a null pointer. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sourceNode</em>&nbsp;</td><td>The current source node, if any. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>The error message. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classProblemListenerBase.html#a50a8c4dee286543750b247df7ca99ca0">ProblemListenerBase</a>.</p>

</div>
</div>
<a class="anchor" id="a18652e7bb4ca4be7dc59c0bfb6c72a69"></a><!-- doxytag: member="XSLTProcessor::problem" ref="a18652e7bb4ca4be7dc59c0bfb6c72a69" args="(eSource source, eClassification classification, const XalanDOMString &amp;msg, const XalanNode *sourceNode)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::problem </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classProblemListenerBase.html#ae363b5e4919bbe4e41f6b2c1b322ee7c">eSource</a>&nbsp;</td>
          <td class="paramname"> <em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classProblemListenerBase.html#a1fec6cce6cc3429e200355330a41152a">eClassification</a>&nbsp;</td>
          <td class="paramname"> <em>classification</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classXalanNode.html">XalanNode</a> *&nbsp;</td>
          <td class="paramname"> <em>sourceNode</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="classFunction.html">Function</a> that is called when a problem event occurs. </p>
<p>This version assumes location information is already formatted into the message.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>either eXMLPARSER, eXSLPROCESSOR, or eXPATH </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>classification</em>&nbsp;</td><td>either eMESSAGE, eERROR or eWARNING </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>string message explaining the problem. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classProblemListenerBase.html#ab0b6125dce1f0c27a3d91fdca012f3b4">ProblemListenerBase</a>.</p>

</div>
</div>
<a class="anchor" id="a580e655ec2319944d728db1b3e52c5d3"></a><!-- doxytag: member="XSLTProcessor::process" ref="a580e655ec2319944d728db1b3e52c5d3" args="(const XSLTInputSource &amp;inputSource, XSLTResultTarget &amp;outputTarget, StylesheetExecutionContext &amp;executionContext)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::process </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classXSLTInputSource.html">XSLTInputSource</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>inputSource</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classXSLTResultTarget.html">XSLTResultTarget</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>outputTarget</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>executionContext</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Transform the source tree to the output in the given result tree target. </p>
<p>This function does not create a stylesheet tree, it assumes the provided <a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> has the stylesheet tree to use. This is set by calling <a class="el" href="classStylesheetExecutionContext.html#aaf8a640529adbaf9731f65fdacadf242" title="Set root stylesheet for stylesheet.">StylesheetExecutionContext::setStylesheetRoot()</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>inputSource</em>&nbsp;</td><td>input source </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>outputTarget</em>&nbsp;</td><td>output source tree </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>executionContext</em>&nbsp;</td><td>current execution context </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>XSLProcessorException</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa128d3d0e49564b42ccfff209b28a5d9"></a><!-- doxytag: member="XSLTProcessor::process" ref="aa128d3d0e49564b42ccfff209b28a5d9" args="(const XSLTInputSource &amp;inputSource, const XSLTInputSource &amp;stylesheetSource, XSLTResultTarget &amp;outputTarget, StylesheetConstructionContext &amp;constructionContext, StylesheetExecutionContext &amp;executionContext)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::process </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classXSLTInputSource.html">XSLTInputSource</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>inputSource</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classXSLTInputSource.html">XSLTInputSource</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>stylesheetSource</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classXSLTResultTarget.html">XSLTResultTarget</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>outputTarget</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>constructionContext</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>executionContext</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Transform the source tree to the output in the given result tree target. </p>
<p>The processor will process the input source, the stylesheet source, and transform to the output target.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>inputSource</em>&nbsp;</td><td>input source </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stylesheetSource</em>&nbsp;</td><td>stylesheet source </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>outputTarget</em>&nbsp;</td><td>output source tree </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>constructionContext</em>&nbsp;</td><td>context for construction of objects </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>executionContext</em>&nbsp;</td><td>current execution context </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>XSLProcessorException</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8604d92cf530b9ef56d6388914794a2e"></a><!-- doxytag: member="XSLTProcessor::processStylesheet" ref="a8604d92cf530b9ef56d6388914794a2e" args="(const XSLTInputSource &amp;stylesheetSource, StylesheetConstructionContext &amp;constructionContext)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classStylesheetRoot.html">StylesheetRoot</a>* XSLTProcessor::processStylesheet </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classXSLTInputSource.html">XSLTInputSource</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>stylesheetSource</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>constructionContext</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a stylesheet input source, compile the stylesheet into an internal representation. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stylesheetSource</em>&nbsp;</td><td>input source for the stylesheet </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>constructionContext</em>&nbsp;</td><td>context for construction of objects </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the compiled stylesheet object </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>XSLProcessorException</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab926ba0cf7a677393157472e06bc01b2"></a><!-- doxytag: member="XSLTProcessor::processStylesheet" ref="ab926ba0cf7a677393157472e06bc01b2" args="(const XalanDOMString &amp;xsldocURLString, StylesheetConstructionContext &amp;constructionContext)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classStylesheetRoot.html">StylesheetRoot</a>* XSLTProcessor::processStylesheet </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>xsldocURLString</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>constructionContext</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a URI to an XSL stylesheet, compile the stylesheet into an internal representation. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>xmldocURLString</em>&nbsp;</td><td>URI to the input XML document </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>constructionContext</em>&nbsp;</td><td>context for construction of objects </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to compiled stylesheet object </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>XSLProcessorException</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8b6b599316f7f26b66289e59d31b2517"></a><!-- doxytag: member="XSLTProcessor::removeTraceListener" ref="a8b6b599316f7f26b66289e59d31b2517" args="(TraceListener *tl)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::removeTraceListener </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTraceListener.html">TraceListener</a> *&nbsp;</td>
          <td class="paramname"> <em>tl</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remove a trace listener. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tl</em>&nbsp;</td><td>Trace listener to be removed. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aca7a6030b4866fb79ac98f42263328ab"></a><!-- doxytag: member="XSLTProcessor::reset" ref="aca7a6030b4866fb79ac98f42263328ab" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::reset </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reset the state. </p>
<p>This needs to be called after a <a class="el" href="classXSLTProcessor.html#aa128d3d0e49564b42ccfff209b28a5d9" title="Transform the source tree to the output in the given result tree target.">process()</a> call is invoked, if the processor is to be used again. </p>

</div>
</div>
<a class="anchor" id="a17bb6fdc0e75d511cd33b40b1db98901"></a><!-- doxytag: member="XSLTProcessor::resolveTopLevelParams" ref="a17bb6fdc0e75d511cd33b40b1db98901" args="(StylesheetExecutionContext &amp;executionContext)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::resolveTopLevelParams </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>executionContext</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Resolve the params that were pushed by the caller. </p>

</div>
</div>
<a class="anchor" id="a3d5eefe9dda08597b06faf4a6b8ff147"></a><!-- doxytag: member="XSLTProcessor::setDiagnosticsOutput" ref="a3d5eefe9dda08597b06faf4a6b8ff147" args="(PrintWriter *pw)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::setDiagnosticsOutput </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classPrintWriter.html">PrintWriter</a> *&nbsp;</td>
          <td class="paramname"> <em>pw</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>If this is set, diagnostics will be written to the m_diagnosticsPrintWriter stream. </p>
<p>If the value is null, then diagnostics will be turned off.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pw</em>&nbsp;</td><td>pointer to print writer </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1aa46b8920c13dd0105011e252027a44"></a><!-- doxytag: member="XSLTProcessor::setExecutionContext" ref="a1aa46b8920c13dd0105011e252027a44" args="(StylesheetExecutionContext *theExecutionContext)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::setExecutionContext </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> *&nbsp;</td>
          <td class="paramname"> <em>theExecutionContext</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the execution context. </p>
<p>Must be set if after calling setStylesheetRoot.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>theExecutionContext</em>&nbsp;</td><td>pointer to new execution context. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad1f50309179ec7e56d583b57d7e0ea1f"></a><!-- doxytag: member="XSLTProcessor::setFormatterListener" ref="ad1f50309179ec7e56d583b57d7e0ea1f" args="(FormatterListener *flistener)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::setFormatterListener </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classFormatterListener.html">FormatterListener</a> *&nbsp;</td>
          <td class="paramname"> <em>flistener</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the current formatter listener. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>flistener</em>&nbsp;</td><td>pointer to new formatter listener </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a81399ed32c5e98420f96ebdc368b7364"></a><!-- doxytag: member="XSLTProcessor::setQuietConflictWarnings" ref="a81399ed32c5e98420f96ebdc368b7364" args="(bool b)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::setQuietConflictWarnings </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>b</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>If the quietConflictWarnings property is set to true, warnings about pattern conflicts won't be printed to the diagnostics stream. </p>
<p>True by default.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>true if conflict warnings should be suppressed. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac26367dd2eb9481c7352f4d2deca5f9a"></a><!-- doxytag: member="XSLTProcessor::setStylesheetParam" ref="ac26367dd2eb9481c7352f4d2deca5f9a" args="(const XalanDOMString &amp;key, const XalanDOMString &amp;expression)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::setStylesheetParam </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>expression</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set a top-level parameter, which the stylesheet can access with a top-level xsl:param. </p>
<p>Top-level params are "sticky," and must be removed with a call to <a class="el" href="classXSLTProcessor.html#ae2ec04b2dbf354d5f4089b7907153f1b" title="Clear any stylesheet params.">clearStylesheetParams()</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>name of the param </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>expression</em>&nbsp;</td><td>expression that will be evaluated </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad0b123f2db16b96cc18cb61498202d51"></a><!-- doxytag: member="XSLTProcessor::setStylesheetParam" ref="ad0b123f2db16b96cc18cb61498202d51" args="(const XalanDOMString &amp;key, XObjectPtr value)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::setStylesheetParam </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classXObjectPtr.html">XObjectPtr</a>&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set a top-level parameter, which the stylesheet can access with a top-level xsl:param. </p>
<p>Top-level params are "sticky," and must be removed with a call to <a class="el" href="classXSLTProcessor.html#ae2ec04b2dbf354d5f4089b7907153f1b" title="Clear any stylesheet params.">clearStylesheetParams()</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>name of the parameter </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td><a class="el" href="classXObject.html" title="Class to hold XPath return types.">XObject</a> value for parameter </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a016ef7b59e20424534657c76ae660f71"></a><!-- doxytag: member="XSLTProcessor::setStylesheetRoot" ref="a016ef7b59e20424534657c76ae660f71" args="(const StylesheetRoot *theStylesheet)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::setStylesheetRoot </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classStylesheetRoot.html">StylesheetRoot</a> *&nbsp;</td>
          <td class="paramname"> <em>theStylesheet</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the root stylesheet. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>theStylesheet</em>&nbsp;</td><td>pointer to new root stylesheet </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a535e53fe6d04876549ad774c25ac2059"></a><!-- doxytag: member="XSLTProcessor::traceSelect" ref="a535e53fe6d04876549ad774c25ac2059" args="(StylesheetExecutionContext &amp;executionContext, const ElemTemplateElement &amp;theStylesheetElement, const NodeRefListBase &amp;nl, const XPath *xpath) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void XSLTProcessor::traceSelect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>executionContext</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classElemTemplateElement.html">ElemTemplateElement</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>theStylesheetElement</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classNodeRefListBase.html">NodeRefListBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>nl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classXPath.html">XPath</a> *&nbsp;</td>
          <td class="paramname"> <em>xpath</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compose a diagnostic trace of the current selection. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>executionContext</em>&nbsp;</td><td>The current execution context </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>theStylesheetElement</em>&nbsp;</td><td>The executing stylesheet element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nl</em>&nbsp;</td><td>The list of selected nodes </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>xpath</em>&nbsp;</td><td>A pointer to the <a class="el" href="classXPath.html">XPath</a> which generated the list of nodes, if any. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XSLTProcessor_8hpp_source.html">XSLTProcessor.hpp</a></li>
</ul>
</div>
<p align="center"><a href="graph_legend.html">Interpreting class diagrams</a></p>
<p><font color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><a href="http://www.doxygen.org/">Doxygen</a> and 
<a href="http://www.graphviz.org/">GraphViz</a> are 
used to generate this API documentation from the Xalan-C header files.</i></font></p>

<table border="0" cellpadding="0" cellspacing="0" width="80%">
 <tr>
  <td width="80%" valign="top">
	<p align="center"><b>Xalan-C++ XSLT Processor Version 1.11</b><br/>
	Copyright &copy; 1999-2012 The Apache Software Foundation.<br/>
	All Rights Reserved.</p>
  </td>
 </tr>
 <tr>
  <td width="100%">
	<p align="center"><img src="asf_logo_wide.gif" width="268" height="25" align="bottom" border="0" alt="Apache Logo">
  </td>
 </tr>
</table>
</body>
</html>
