<!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><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<h1>XalanTransformer.hpp</h1>  </div>
</div>
<div class="contents">
<a href="XalanTransformer_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span>
<a name="l00003"></a>00003 <span class="comment"> * or more contributor license agreements. See the NOTICE file</span>
<a name="l00004"></a>00004 <span class="comment"> * distributed with this work for additional information</span>
<a name="l00005"></a>00005 <span class="comment"> * regarding copyright ownership. The ASF licenses this file</span>
<a name="l00006"></a>00006 <span class="comment"> * to you under the Apache License, Version 2.0 (the  &quot;License&quot;);</span>
<a name="l00007"></a>00007 <span class="comment"> * you may not use this file except in compliance with the License.</span>
<a name="l00008"></a>00008 <span class="comment"> * You may obtain a copy of the License at</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00011"></a>00011 <span class="comment"> *</span>
<a name="l00012"></a>00012 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
<a name="l00013"></a>00013 <span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
<a name="l00014"></a>00014 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00015"></a>00015 <span class="comment"> * See the License for the specific language governing permissions and</span>
<a name="l00016"></a>00016 <span class="comment"> * limitations under the License.</span>
<a name="l00017"></a>00017 <span class="comment"> */</span>
<a name="l00018"></a>00018 
<a name="l00019"></a>00019 <span class="preprocessor">#if !defined(XALANTRANSFORMER_HEADER_GUARD)</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define XALANTRANSFORMER_HEADER_GUARD</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span>
<a name="l00022"></a>00022 <span class="comment">// Base include file.  Must be first.</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="XalanTransformerDefinitions_8hpp.html">xalanc/XalanTransformer/XalanTransformerDefinitions.hpp</a>&gt;</span>
<a name="l00024"></a>00024 
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;cassert&gt;</span>
<a name="l00028"></a>00028 <span class="preprocessor">#if defined(XALAN_CLASSIC_IOSTREAMS)</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">class </span>ostream;
<a name="l00030"></a>00030 <span class="preprocessor">#else</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iosfwd&gt;</span>
<a name="l00032"></a>00032 <span class="preprocessor">#endif</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#include &lt;algorithm&gt;</span>
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 
<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;<a class="code" href="XalanVector_8hpp.html">xalanc/Include/XalanVector.hpp</a>&gt;</span>
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;<a class="code" href="XalanNode_8hpp.html">xalanc/XalanDOM/XalanNode.hpp</a>&gt;</span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;<a class="code" href="XalanMap_8hpp.html">xalanc/Include/XalanMap.hpp</a>&gt;</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include &lt;<a class="code" href="XalanParamHolder_8hpp.html">xalanc/XSLT/XalanParamHolder.hpp</a>&gt;</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &lt;<a class="code" href="XObjectFactoryDefault_8hpp.html">xalanc/XPath/XObjectFactoryDefault.hpp</a>&gt;</span>
<a name="l00043"></a>00043 
<a name="l00044"></a>00044 <span class="preprocessor">#include &lt;<a class="code" href="XalanQNameByValue_8hpp.html">xalanc/XPath/XalanQNameByValue.hpp</a>&gt;</span>
<a name="l00045"></a>00045 
<a name="l00046"></a>00046 
<a name="l00047"></a>00047 
<a name="l00048"></a>00048 <span class="preprocessor">#include &lt;<a class="code" href="XSLTInputSource_8hpp.html">xalanc/XSLT/XSLTInputSource.hpp</a>&gt;</span>
<a name="l00049"></a>00049 <span class="preprocessor">#include &lt;<a class="code" href="XSLTResultTarget_8hpp.html">xalanc/XSLT/XSLTResultTarget.hpp</a>&gt;</span>
<a name="l00050"></a>00050 
<a name="l00051"></a>00051 
<a name="l00052"></a>00052 
<a name="l00053"></a>00053 XALAN_DECLARE_XERCES_CLASS(EntityResolver)
<a name="l00054"></a>00054 XALAN_DECLARE_XERCES_CLASS(ErrorHandler)
<a name="l00055"></a>00055 XALAN_DECLARE_XERCES_CLASS(XMLEntityResolver)
<a name="l00056"></a>00056 
<a name="l00057"></a>00057 
<a name="l00058"></a>00058 
<a name="l00059"></a>00059 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00060"></a>00060 
<a name="l00061"></a>00061 
<a name="l00062"></a>00062 
<a name="l00063"></a><a class="code" href="XalanTransformer_8hpp.html#af7b85031b4500b529ef256ba8ec74ad7">00063</a> typedef XERCES_CPP_NAMESPACE_QUALIFIER EntityResolver   <a class="code" href="XMLParserLiaison_8hpp.html#a4b3bc3c5ffa5c9f13ba4772c74e0daa8">EntityResolverType</a>;
<a name="l00064"></a><a class="code" href="XalanTransformer_8hpp.html#abec424e2115bfc3c57b1c7460eeb1608">00064</a> typedef XERCES_CPP_NAMESPACE_QUALIFIER ErrorHandler     <a class="code" href="XalanCompiledStylesheetDefault_8hpp.html#abec424e2115bfc3c57b1c7460eeb1608">ErrorHandlerType</a>;
<a name="l00065"></a>00065 
<a name="l00066"></a>00066 <a class="code" href="XSLTProcessor_8hpp.html#a24af2755e58bade5ff0d5965b855e56a">XALAN_USING_XERCES</a>(EntityResolver)
<a name="l00067"></a>00067 <a class="code" href="XSLTProcessor_8hpp.html#a24af2755e58bade5ff0d5965b855e56a">XALAN_USING_XERCES</a>(ErrorHandler)
<a name="l00068"></a>00068 <a class="code" href="XSLTProcessor_8hpp.html#a24af2755e58bade5ff0d5965b855e56a">XALAN_USING_XERCES</a>(XMLEntityResolver)
<a name="l00069"></a>00069 
<a name="l00070"></a>00070 
<a name="l00071"></a>00071 
<a name="l00072"></a>00072 class <a class="code" href="classFunction.html">Function</a>;
<a name="l00073"></a>00073 class <a class="code" href="classStylesheetExecutionContextDefault.html">StylesheetExecutionContextDefault</a>;
<a name="l00074"></a>00074 class <a class="code" href="classProblemListener.html" title="This is the abstract class that the XSL processor uses when it has a problem of some kind...">ProblemListener</a>;
<a name="l00075"></a>00075 class <a class="code" href="classTraceListener.html">TraceListener</a>;
<a name="l00076"></a>00076 class <a class="code" href="classXSLTInit.html">XSLTInit</a>;
<a name="l00077"></a>00077 class <a class="code" href="classXalanDocumentBuilder.html" title="This is abstract base class designed to allow a XalanTranfomer object to use a document that is build...">XalanDocumentBuilder</a>;
<a name="l00078"></a>00078 class <a class="code" href="classXalanCompiledStylesheet.html" title="This is an abstraction of the StylesheetRoot class.">XalanCompiledStylesheet</a>;
<a name="l00079"></a>00079 class <a class="code" href="classXalanParsedSource.html" title="This is abstract base class designed to allow a XalanTranfomer object to reuse a parsed document...">XalanParsedSource</a>;
<a name="l00080"></a>00080 class <a class="code" href="classXalanTransformerOutputStream.html">XalanTransformerOutputStream</a>;
<a name="l00081"></a>00081 
<a name="l00082"></a>00082 class <a class="code" href="classXObjectFactoryDefault.html" title="This class handles the creation of XObjects and manages their lifetime.">XObjectFactoryDefault</a>;
<a name="l00083"></a>00083 class <a class="code" href="classXalanNode.html">XalanNode</a>;
<a name="l00084"></a>00084 <span class="comment"></span>
<a name="l00085"></a>00085 <span class="comment">/**</span>
<a name="l00086"></a>00086 <span class="comment"> * This is a simple C++ interface for some common usage patterns. It&#39;s </span>
<a name="l00087"></a>00087 <span class="comment"> * the user&#39;s responsibility to call initialize and terminate for Xerces </span>
<a name="l00088"></a>00088 <span class="comment"> * and Xalan before creating and after deleting any XalanTransformer  </span>
<a name="l00089"></a>00089 <span class="comment"> * instances.</span>
<a name="l00090"></a>00090 <span class="comment">*/</span>
<a name="l00091"></a><a class="code" href="classXalanTransformer.html">00091</a> class <a class="code" href="XalanTransformerDefinitions_8hpp.html#abb0a9d8e3ccf047d7e075c163038ee8d">XALAN_TRANSFORMER_EXPORT</a> <a class="code" href="classXalanTransformer.html" title="This is a simple C++ interface for some common usage patterns.">XalanTransformer</a>
<a name="l00092"></a>00092 {
<a name="l00093"></a>00093 
<a name="l00094"></a>00094 <span class="keyword">public</span>:
<a name="l00095"></a>00095     
<a name="l00096"></a>00096 <span class="preprocessor">#if defined(XALAN_NO_STD_NAMESPACE)</span>
<a name="l00097"></a>00097 <span class="preprocessor"></span>    <span class="keyword">typedef</span> ostream         StreamType;
<a name="l00098"></a>00098 <span class="preprocessor">#else</span>
<a name="l00099"></a><a class="code" href="classXalanTransformer.html#a2aa631c28278007c11286e1d7b3c99c4">00099</a> <span class="preprocessor"></span>    <span class="keyword">typedef</span> std::ostream    StreamType;
<a name="l00100"></a>00100 <span class="preprocessor">#endif</span>
<a name="l00101"></a>00101 <span class="preprocessor"></span>
<a name="l00102"></a><a class="code" href="classXalanTransformer.html#a8baad2be5c9117307ee4619d5f76b9c1">00102</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">XalanVector&lt;const XalanCompiledStylesheet*&gt;</a> <a class="code" href="classXalanVector.html">CompiledStylesheetPtrVectorType</a>;
<a name="l00103"></a><a class="code" href="classXalanTransformer.html#a203cdb37c16778367035bcedd8e840d1">00103</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">XalanVector&lt;const XalanParsedSource*&gt;</a>       <a class="code" href="classXalanVector.html">ParsedSourcePtrVectorType</a>;
<a name="l00104"></a>00104 
<a name="l00105"></a><a class="code" href="classXalanTransformer.html#aee627aad46b477c991139cf83890b750">00105</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanMap.html">XalanMap&lt;XalanDOMString, XalanParamHolder&gt;</a>    <a class="code" href="classXalanMap.html">ParamMapType</a>;
<a name="l00106"></a>00106 
<a name="l00107"></a><a class="code" href="classXalanTransformer.html#ab4a192fc8f30d11db409ad3ab0d70870">00107</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanMap.html">XalanMap&lt;XalanQNameByValue, Function*&gt;</a>  <a class="code" href="classXalanMap.html">FunctionMapType</a>;
<a name="l00108"></a><a class="code" href="classXalanTransformer.html#a901c6d0b9a12af5cd2bcd54efc482265">00108</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">XalanVector&lt;TraceListener*&gt;</a>             <a class="code" href="classXalanVector.html">TraceListenerVectorType</a>;
<a name="l00109"></a>00109 
<a name="l00110"></a>00110     XalanTransformer(MemoryManager&amp;     theManager = <a class="code" href="classXalanMemMgrs.html#adc5605ef554a974e2ee8a67595b8f18b">XalanMemMgrs::getDefaultXercesMemMgr</a>());
<a name="l00111"></a>00111 
<a name="l00112"></a>00112     <span class="keyword">virtual</span>
<a name="l00113"></a>00113     ~XalanTransformer();
<a name="l00114"></a>00114 
<a name="l00115"></a>00115     MemoryManager&amp;
<a name="l00116"></a><a class="code" href="classXalanTransformer.html#aca4a3cc32109a73976180ee85c3e3ed7">00116</a>     getMemoryManager()
<a name="l00117"></a>00117     {
<a name="l00118"></a>00118         <span class="keywordflow">return</span> m_memoryManager;
<a name="l00119"></a>00119     }
<a name="l00120"></a>00120 
<a name="l00121"></a>00121     <span class="keyword">const</span> MemoryManager&amp; 
<a name="l00122"></a><a class="code" href="classXalanTransformer.html#ae42649fa206d7820712667fce08b5637">00122</a>     getMemoryManager()<span class="keyword"> const</span>
<a name="l00123"></a>00123 <span class="keyword">    </span>{
<a name="l00124"></a>00124         <span class="keywordflow">return</span> m_memoryManager;
<a name="l00125"></a>00125     }
<a name="l00126"></a>00126 <span class="comment"></span>
<a name="l00127"></a>00127 <span class="comment">    /**</span>
<a name="l00128"></a>00128 <span class="comment">     * Initialize Xalan.</span>
<a name="l00129"></a>00129 <span class="comment">     *</span>
<a name="l00130"></a>00130 <span class="comment">     * Should be called only once per process before creating any</span>
<a name="l00131"></a>00131 <span class="comment">     * instances of XalanTransformer.  This call is not thread-safe,</span>
<a name="l00132"></a>00132 <span class="comment">     * so you must serialize any calls to it, and you must track the</span>
<a name="l00133"></a>00133 <span class="comment">     * initialization state, so you do not call it more than once.</span>
<a name="l00134"></a>00134 <span class="comment">     */</span>
<a name="l00135"></a>00135     <span class="keyword">static</span> <span class="keywordtype">void</span>
<a name="l00136"></a>00136     initialize(MemoryManager&amp;   theManager = <a class="code" href="classXalanMemMgrs.html#adc5605ef554a974e2ee8a67595b8f18b">XalanMemMgrs::getDefaultXercesMemMgr</a>());
<a name="l00137"></a>00137 <span class="comment"></span>
<a name="l00138"></a>00138 <span class="comment">    /**</span>
<a name="l00139"></a>00139 <span class="comment">     * Terminate Xalan.</span>
<a name="l00140"></a>00140 <span class="comment">     *</span>
<a name="l00141"></a>00141 <span class="comment">     * Should be called only once per process after deleting all</span>
<a name="l00142"></a>00142 <span class="comment">     * instances of XalanTransformer.  This call is not thread-safe,</span>
<a name="l00143"></a>00143 <span class="comment">     * so you must serialize any calls to it, and you must track the</span>
<a name="l00144"></a>00144 <span class="comment">     * initialization state, so you do not call it more than once.</span>
<a name="l00145"></a>00145 <span class="comment">     *</span>
<a name="l00146"></a>00146 <span class="comment">     * This is handy when using leak-detection software, as all</span>
<a name="l00147"></a>00147 <span class="comment">     * static data allocated by Xalan is freed.</span>
<a name="l00148"></a>00148 <span class="comment">     *</span>
<a name="l00149"></a>00149 <span class="comment">     */</span>
<a name="l00150"></a>00150     <span class="keyword">static</span> <span class="keywordtype">void</span>
<a name="l00151"></a>00151     <a class="code" href="XalanDOMString_8hpp.html#a392a1168a4c055ef750608dde287a874">terminate</a>();
<a name="l00152"></a>00152 <span class="comment"></span>
<a name="l00153"></a>00153 <span class="comment">    /**</span>
<a name="l00154"></a>00154 <span class="comment">     * Clean up the ICU, if ICU integration is enabled.</span>
<a name="l00155"></a>00155 <span class="comment">     *</span>
<a name="l00156"></a>00156 <span class="comment">     * This should be called only once per process after calling</span>
<a name="l00157"></a>00157 <span class="comment">     * XalanTransformer::terminate() and XMLPlatformUtils::Terminate.</span>
<a name="l00158"></a>00158 <span class="comment">     *</span>
<a name="l00159"></a>00159 <span class="comment">     * This must only be done if the ICU will no longer be used by</span>
<a name="l00160"></a>00160 <span class="comment">     * the process, since the ICU will no longer be in a usable state.</span>
<a name="l00161"></a>00161 <span class="comment">     * See the ICU documentation for more details.</span>
<a name="l00162"></a>00162 <span class="comment">     *</span>
<a name="l00163"></a>00163 <span class="comment">     * This call is not thread-safe, so you must serialize any calls</span>
<a name="l00164"></a>00164 <span class="comment">     * to it, and you must track the initialization state, so you do</span>
<a name="l00165"></a>00165 <span class="comment">     * not call it more than once.</span>
<a name="l00166"></a>00166 <span class="comment">     *</span>
<a name="l00167"></a>00167 <span class="comment">     * This is handy when using leak-detection software, as all</span>
<a name="l00168"></a>00168 <span class="comment">     * static data allocated by the ICU is freed.</span>
<a name="l00169"></a>00169 <span class="comment">     *</span>
<a name="l00170"></a>00170 <span class="comment">     */</span>
<a name="l00171"></a>00171     <span class="keyword">static</span> <span class="keywordtype">void</span>
<a name="l00172"></a>00172     ICUCleanUp();
<a name="l00173"></a>00173 
<a name="l00174"></a>00174 
<a name="l00175"></a>00175     <span class="keyword">static</span> <span class="keywordtype">void</span>
<a name="l00176"></a>00176     ICUStartUp(MemoryManager&amp;   theManager = <a class="code" href="classXalanMemMgrs.html#adc5605ef554a974e2ee8a67595b8f18b">XalanMemMgrs::getDefaultXercesMemMgr</a>());
<a name="l00177"></a>00177 <span class="comment"></span>
<a name="l00178"></a>00178 <span class="comment">    /**</span>
<a name="l00179"></a>00179 <span class="comment">     * Transform will apply the stylesheet source to the parsed xml source</span>
<a name="l00180"></a>00180 <span class="comment">     * and write the transformation output to the target. </span>
<a name="l00181"></a>00181 <span class="comment">     *</span>
<a name="l00182"></a>00182 <span class="comment">     * @param theParsedXML          the parsed input source</span>
<a name="l00183"></a>00183 <span class="comment">     * @param theStylesheetSource   stylesheet source</span>
<a name="l00184"></a>00184 <span class="comment">     * @param theResultTarget       output source</span>
<a name="l00185"></a>00185 <span class="comment">     * @return  0 for success</span>
<a name="l00186"></a>00186 <span class="comment">     */</span>
<a name="l00187"></a>00187     <span class="keywordtype">int</span>
<a name="l00188"></a><a class="code" href="classXalanTransformer.html#ac65125a76830757a873eee7aaf482459">00188</a>     transform(
<a name="l00189"></a>00189             <span class="keyword">const</span> XalanParsedSource&amp;    theParsedXML, 
<a name="l00190"></a>00190             <span class="keyword">const</span> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp;      theStylesheetSource,
<a name="l00191"></a>00191             <span class="keyword">const</span> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp;     theResultTarget)
<a name="l00192"></a>00192     {
<a name="l00193"></a>00193         <span class="keywordflow">return</span> doTransform(theParsedXML, 0, &amp;theStylesheetSource, theResultTarget);
<a name="l00194"></a>00194     }
<a name="l00195"></a>00195 <span class="comment"></span>
<a name="l00196"></a>00196 <span class="comment">    /**</span>
<a name="l00197"></a>00197 <span class="comment">     * Transform will apply the compiled stylesheet to the parsed xml source</span>
<a name="l00198"></a>00198 <span class="comment">     * and write the transformation output to the target. </span>
<a name="l00199"></a>00199 <span class="comment">     *</span>
<a name="l00200"></a>00200 <span class="comment">     * @param theParsedXML          the parsed input source</span>
<a name="l00201"></a>00201 <span class="comment">     * @param theCompiledStylesheet pointer to a compiled stylesheet.  Must not be null.</span>
<a name="l00202"></a>00202 <span class="comment">     * @param theResultTarget       output source </span>
<a name="l00203"></a>00203 <span class="comment">     * @return  0 for success</span>
<a name="l00204"></a>00204 <span class="comment">     */</span>
<a name="l00205"></a>00205     <span class="keywordtype">int</span>
<a name="l00206"></a><a class="code" href="classXalanTransformer.html#af8d56dff3a760a8ee6b7fe4deae06dc1">00206</a>     transform(
<a name="l00207"></a>00207             <span class="keyword">const</span> XalanParsedSource&amp;        theParsedXML,
<a name="l00208"></a>00208             <span class="keyword">const</span> XalanCompiledStylesheet*  theCompiledStylesheet,
<a name="l00209"></a>00209             <span class="keyword">const</span> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp;         theResultTarget)
<a name="l00210"></a>00210     {
<a name="l00211"></a>00211         assert(theCompiledStylesheet != 0);
<a name="l00212"></a>00212 
<a name="l00213"></a>00213         <span class="keywordflow">return</span> doTransform(theParsedXML, theCompiledStylesheet, 0, theResultTarget);
<a name="l00214"></a>00214     }
<a name="l00215"></a>00215 <span class="comment"></span>
<a name="l00216"></a>00216 <span class="comment">    /**</span>
<a name="l00217"></a>00217 <span class="comment">     * Transform will apply the stylesheet provided as a PI in the </span>
<a name="l00218"></a>00218 <span class="comment">     * XML of the parsed xml source and write the transformation output to </span>
<a name="l00219"></a>00219 <span class="comment">     * the target. </span>
<a name="l00220"></a>00220 <span class="comment">     *</span>
<a name="l00221"></a>00221 <span class="comment">     * @param theParsedXML      the parsed input source</span>
<a name="l00222"></a>00222 <span class="comment">     * @param theResultTarget   output source tree</span>
<a name="l00223"></a>00223 <span class="comment">     * @return                  0 for success</span>
<a name="l00224"></a>00224 <span class="comment">     */</span>
<a name="l00225"></a>00225     <span class="keywordtype">int</span>
<a name="l00226"></a><a class="code" href="classXalanTransformer.html#a4e2c9ce0bf30522266d76029bb128276">00226</a>     transform(
<a name="l00227"></a>00227             <span class="keyword">const</span> XalanParsedSource&amp;    theParsedXML,                
<a name="l00228"></a>00228             <span class="keyword">const</span> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp;     theResultTarget)
<a name="l00229"></a>00229     {
<a name="l00230"></a>00230         assert(s_emptyInputSource != 0);
<a name="l00231"></a>00231 
<a name="l00232"></a>00232         <span class="keywordflow">return</span> transform(theParsedXML, *s_emptyInputSource, theResultTarget);
<a name="l00233"></a>00233     }
<a name="l00234"></a>00234 <span class="comment"></span>
<a name="l00235"></a>00235 <span class="comment">    /**</span>
<a name="l00236"></a>00236 <span class="comment">     * Transform will apply the stylesheet source to the input source</span>
<a name="l00237"></a>00237 <span class="comment">     * and write the transformation output to the target. The input </span>
<a name="l00238"></a>00238 <span class="comment">     * source and result target can be a file name, a stream or a root</span>
<a name="l00239"></a>00239 <span class="comment">     * node.</span>
<a name="l00240"></a>00240 <span class="comment">     *</span>
<a name="l00241"></a>00241 <span class="comment">     * @param theInputSource        input source</span>
<a name="l00242"></a>00242 <span class="comment">     * @param theStylesheetSource   stylesheet source</span>
<a name="l00243"></a>00243 <span class="comment">     * @param theResultTarget       output source</span>
<a name="l00244"></a>00244 <span class="comment">     * @return  0 for success</span>
<a name="l00245"></a>00245 <span class="comment">     */</span>
<a name="l00246"></a>00246     <span class="keywordtype">int</span>
<a name="l00247"></a>00247     transform(
<a name="l00248"></a>00248             <span class="keyword">const</span> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp;      theInputSource,
<a name="l00249"></a>00249             <span class="keyword">const</span> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp;      theStylesheetSource,
<a name="l00250"></a>00250             <span class="keyword">const</span> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp;     theResultTarget);
<a name="l00251"></a>00251 <span class="comment"></span>
<a name="l00252"></a>00252 <span class="comment">    /**</span>
<a name="l00253"></a>00253 <span class="comment">     * Transform will apply the stylesheet provided as a PI in the </span>
<a name="l00254"></a>00254 <span class="comment">     * XML of the input source and write the transformation output to </span>
<a name="l00255"></a>00255 <span class="comment">     * the target. The input source and result target can be a file </span>
<a name="l00256"></a>00256 <span class="comment">     * name, a stream or a root node.</span>
<a name="l00257"></a>00257 <span class="comment">     *</span>
<a name="l00258"></a>00258 <span class="comment">     * @param theInputSource        input source</span>
<a name="l00259"></a>00259 <span class="comment">     * @param theResultTarget       output source tree</span>
<a name="l00260"></a>00260 <span class="comment">     * @return  0 for success</span>
<a name="l00261"></a>00261 <span class="comment">     */</span>
<a name="l00262"></a>00262     <span class="keywordtype">int</span>
<a name="l00263"></a><a class="code" href="classXalanTransformer.html#a9890b03c4a8e3c0550541fee697fbb7b">00263</a>     transform(
<a name="l00264"></a>00264             <span class="keyword">const</span> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp;      theInputSource,
<a name="l00265"></a>00265             <span class="keyword">const</span> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp;     theResultTarget)
<a name="l00266"></a>00266     {
<a name="l00267"></a>00267         assert(s_emptyInputSource != 0);
<a name="l00268"></a>00268 
<a name="l00269"></a>00269         <span class="keywordflow">return</span> transform(
<a name="l00270"></a>00270                         theInputSource, 
<a name="l00271"></a>00271                         *s_emptyInputSource,
<a name="l00272"></a>00272                         theResultTarget);
<a name="l00273"></a>00273     }
<a name="l00274"></a>00274 <span class="comment"></span>
<a name="l00275"></a>00275 <span class="comment">    /**</span>
<a name="l00276"></a>00276 <span class="comment">     * Transform will apply the stylesheet source to the input source</span>
<a name="l00277"></a>00277 <span class="comment">     * and write the transformation result to a callback function  </span>
<a name="l00278"></a>00278 <span class="comment">     * in pre-allocated blocks. The input source can be a file name, </span>
<a name="l00279"></a>00279 <span class="comment">     * a stream or a root node. Upon termination, Xalan releases any </span>
<a name="l00280"></a>00280 <span class="comment">     * allocated memory. Data passed to the callback is not guaranteed to </span>
<a name="l00281"></a>00281 <span class="comment">     * be null terminated.</span>
<a name="l00282"></a>00282 <span class="comment">     *</span>
<a name="l00283"></a>00283 <span class="comment">     * - See XalanTransformerOutputStream and XalanOutputHandlerType </span>
<a name="l00284"></a>00284 <span class="comment">     * for more details.</span>
<a name="l00285"></a>00285 <span class="comment">     * </span>
<a name="l00286"></a>00286 <span class="comment">     * @param theInputSource        input source</span>
<a name="l00287"></a>00287 <span class="comment">     * @param theStylesheetSource   stylesheet source   </span>
<a name="l00288"></a>00288 <span class="comment">     * @param theOutputHandle       void pointer passed through to callback.</span>
<a name="l00289"></a>00289 <span class="comment">     * @param theOutputHandler      a user defined (callback) function.</span>
<a name="l00290"></a>00290 <span class="comment">     * @param theFlushHandler       (optional) a user defined (callback) function.</span>
<a name="l00291"></a>00291 <span class="comment">     * @return  0 for success </span>
<a name="l00292"></a>00292 <span class="comment">     */</span>
<a name="l00293"></a>00293     <span class="keywordtype">int</span>
<a name="l00294"></a>00294     transform(
<a name="l00295"></a>00295             <span class="keyword">const</span> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp;      theInputSource, 
<a name="l00296"></a>00296             <span class="keyword">const</span> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp;      theStylesheetSource,
<a name="l00297"></a>00297             <span class="keywordtype">void</span>*                       theOutputHandle, 
<a name="l00298"></a>00298             <a class="code" href="XalanTransformerDefinitions_8hpp.html#a1dc959aba772c6560c207640b1078029" title="Callback function passed to the XalanTransformer APIs.">XalanOutputHandlerType</a>      theOutputHandler,
<a name="l00299"></a>00299             <a class="code" href="XalanTransformerDefinitions_8hpp.html#af9c91954b5abd9dde361ad9631c12295" title="Callback function passed to the XalanTransformer APIs.">XalanFlushHandlerType</a>       theFlushHandler = 0);
<a name="l00300"></a>00300     <span class="comment"></span>
<a name="l00301"></a>00301 <span class="comment">    /**</span>
<a name="l00302"></a>00302 <span class="comment">     * Transform will apply the compiled stylesheet to the input source</span>
<a name="l00303"></a>00303 <span class="comment">     * and write the transformation output to the target. The input </span>
<a name="l00304"></a>00304 <span class="comment">     * source and result target can be a file name, a stream or a root</span>
<a name="l00305"></a>00305 <span class="comment">     * node. </span>
<a name="l00306"></a>00306 <span class="comment">     *</span>
<a name="l00307"></a>00307 <span class="comment">     * @param theInputSource        input source</span>
<a name="l00308"></a>00308 <span class="comment">     * @param theCompiledStylesheet pointer to a compiled stylesheet.  Must not be null.</span>
<a name="l00309"></a>00309 <span class="comment">     * @param theResultTarget       output source </span>
<a name="l00310"></a>00310 <span class="comment">     * @return  0 for success</span>
<a name="l00311"></a>00311 <span class="comment">     */</span>
<a name="l00312"></a>00312     <span class="keywordtype">int</span>
<a name="l00313"></a>00313     transform(
<a name="l00314"></a>00314             <span class="keyword">const</span> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp;          theInputSource, 
<a name="l00315"></a>00315             <span class="keyword">const</span> XalanCompiledStylesheet*  theCompiledStylesheet,
<a name="l00316"></a>00316             <span class="keyword">const</span> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp;         theResultTarget);
<a name="l00317"></a>00317  <span class="comment"></span>
<a name="l00318"></a>00318 <span class="comment">    /**</span>
<a name="l00319"></a>00319 <span class="comment">     * Transform will apply the compiled stylesheet to the source</span>
<a name="l00320"></a>00320 <span class="comment">     * and write the transformation result to a callback function  </span>
<a name="l00321"></a>00321 <span class="comment">     * in pre-allocated blocks. The input source can be a file name, </span>
<a name="l00322"></a>00322 <span class="comment">     * a stream or a root node. Upon termination, Xalan releases any </span>
<a name="l00323"></a>00323 <span class="comment">     * allocated memory. Data passed to the callback is not guaranteed to </span>
<a name="l00324"></a>00324 <span class="comment">     * be null terminated.</span>
<a name="l00325"></a>00325 <span class="comment">     *</span>
<a name="l00326"></a>00326 <span class="comment">     * - See XalanTransformerOutputStream and XalanOutputHandlerType </span>
<a name="l00327"></a>00327 <span class="comment">     * for more details.</span>
<a name="l00328"></a>00328 <span class="comment">     * </span>
<a name="l00329"></a>00329 <span class="comment">     * @param theParsedSource       Parsed source instance</span>
<a name="l00330"></a>00330 <span class="comment">     * @param theCompiledStylesheet pointer to a compiled stylesheet.  Must not be null.</span>
<a name="l00331"></a>00331 <span class="comment">     * @param theOutputHandle       void pointer passed through to callback.</span>
<a name="l00332"></a>00332 <span class="comment">     * @param theOutputHandler      a user defined callback function.</span>
<a name="l00333"></a>00333 <span class="comment">     * @param theFlushHandler       An optional user-defined callback function.</span>
<a name="l00334"></a>00334 <span class="comment">     * @return  0 for success </span>
<a name="l00335"></a>00335 <span class="comment">     */</span>
<a name="l00336"></a>00336     <span class="keywordtype">int</span>
<a name="l00337"></a>00337     transform(
<a name="l00338"></a>00338             <span class="keyword">const</span> XalanParsedSource&amp;        theParsedSource,
<a name="l00339"></a>00339             <span class="keyword">const</span> XalanCompiledStylesheet*  theCompiledStylesheet,
<a name="l00340"></a>00340             <span class="keywordtype">void</span>*                           theOutputHandle,
<a name="l00341"></a>00341             <a class="code" href="XalanTransformerDefinitions_8hpp.html#a1dc959aba772c6560c207640b1078029" title="Callback function passed to the XalanTransformer APIs.">XalanOutputHandlerType</a>          theOutputHandler,
<a name="l00342"></a>00342             <a class="code" href="XalanTransformerDefinitions_8hpp.html#af9c91954b5abd9dde361ad9631c12295" title="Callback function passed to the XalanTransformer APIs.">XalanFlushHandlerType</a>           theFlushHandler = 0);
<a name="l00343"></a>00343 <span class="comment"></span>
<a name="l00344"></a>00344 <span class="comment">    /**</span>
<a name="l00345"></a>00345 <span class="comment">     * Transform will apply the stylesheet provided as a PI in the </span>
<a name="l00346"></a>00346 <span class="comment">     * XML of the input source and write  the transformation result to a  </span>
<a name="l00347"></a>00347 <span class="comment">     * callback function in pre-allocated blocks. The input source can be </span>
<a name="l00348"></a>00348 <span class="comment">     * a file name, a stream or a root node. Upon termination, Xalan </span>
<a name="l00349"></a>00349 <span class="comment">     * releases any allocated memory. Data passed to the callback is not </span>
<a name="l00350"></a>00350 <span class="comment">     * guaranteed to be null terminated.</span>
<a name="l00351"></a>00351 <span class="comment">     *</span>
<a name="l00352"></a>00352 <span class="comment">     * - See XalanTransformerOutputStream and XalanOutputHandlerType </span>
<a name="l00353"></a>00353 <span class="comment">     * for more details.</span>
<a name="l00354"></a>00354 <span class="comment">     * </span>
<a name="l00355"></a>00355 <span class="comment">     * @param theInputSource        input source</span>
<a name="l00356"></a>00356 <span class="comment">     * @param theOutputHandle       void pointer passed through to callback.</span>
<a name="l00357"></a>00357 <span class="comment">     * @param theOutputHandler      a user defined callback function.</span>
<a name="l00358"></a>00358 <span class="comment">     * @param theFlushHandler       an optional user-defined callback function.</span>
<a name="l00359"></a>00359 <span class="comment">     * @return  0 for success </span>
<a name="l00360"></a>00360 <span class="comment">     */</span>
<a name="l00361"></a>00361     <span class="keywordtype">int</span>
<a name="l00362"></a>00362     transform(
<a name="l00363"></a>00363             <span class="keyword">const</span> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp;      theInputSource,
<a name="l00364"></a>00364             <span class="keywordtype">void</span>*                       theOutputHandle,
<a name="l00365"></a>00365             <a class="code" href="XalanTransformerDefinitions_8hpp.html#a1dc959aba772c6560c207640b1078029" title="Callback function passed to the XalanTransformer APIs.">XalanOutputHandlerType</a>      theOutputHandler,
<a name="l00366"></a>00366             <a class="code" href="XalanTransformerDefinitions_8hpp.html#af9c91954b5abd9dde361ad9631c12295" title="Callback function passed to the XalanTransformer APIs.">XalanFlushHandlerType</a>       theFlushHandler = 0);
<a name="l00367"></a>00367 <span class="comment"></span>
<a name="l00368"></a>00368 <span class="comment">    /**</span>
<a name="l00369"></a>00369 <span class="comment">     * Creates a compiled stylesheet.  The input source can be </span>
<a name="l00370"></a>00370 <span class="comment">     * a file name, a stream or a root node.   The XalanTransformer</span>
<a name="l00371"></a>00371 <span class="comment">     * instance owns the XalanCompiledStylesheet instance and will</span>
<a name="l00372"></a>00372 <span class="comment">     * delete it when the XalanTransformer instance goes out of scope,</span>
<a name="l00373"></a>00373 <span class="comment">     * or you explicitly call destroyStylesheet().  You must not delete</span>
<a name="l00374"></a>00374 <span class="comment">     * the instance yourself.</span>
<a name="l00375"></a>00375 <span class="comment">     *</span>
<a name="l00376"></a>00376 <span class="comment">     * @param theStylesheetSource input source</span>
<a name="l00377"></a>00377 <span class="comment">     * @param theCompiledStylesheet a reference to a pointer to a XalanCompileStylesheet.</span>
<a name="l00378"></a>00378 <span class="comment">     * @return 0 for success </span>
<a name="l00379"></a>00379 <span class="comment">     */</span>
<a name="l00380"></a>00380     <span class="keywordtype">int</span>
<a name="l00381"></a>00381     compileStylesheet(
<a name="l00382"></a>00382             <span class="keyword">const</span> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp;              theStylesheetSource,
<a name="l00383"></a>00383             <span class="keyword">const</span> XalanCompiledStylesheet*&amp;     theCompiledStylesheet);
<a name="l00384"></a>00384 <span class="comment"></span>
<a name="l00385"></a>00385 <span class="comment">    /**</span>
<a name="l00386"></a>00386 <span class="comment">     * Destroy a XalanCompiledStylesheet instance created by a previous</span>
<a name="l00387"></a>00387 <span class="comment">     * call to compileStylesheet().</span>
<a name="l00388"></a>00388 <span class="comment">     *</span>
<a name="l00389"></a>00389 <span class="comment">     * @param theStylesheet The instance to destroy.</span>
<a name="l00390"></a>00390 <span class="comment">     * @return 0 for success </span>
<a name="l00391"></a>00391 <span class="comment">     */</span>
<a name="l00392"></a>00392     <span class="keywordtype">int</span>
<a name="l00393"></a>00393     destroyStylesheet(<span class="keyword">const</span> XalanCompiledStylesheet*    theStylesheet);
<a name="l00394"></a>00394 <span class="comment"></span>
<a name="l00395"></a>00395 <span class="comment">    /**</span>
<a name="l00396"></a>00396 <span class="comment">     * Parse a source XML document.  The input source can be </span>
<a name="l00397"></a>00397 <span class="comment">     * a file name, a stream or a root node.  The XalanTransformer</span>
<a name="l00398"></a>00398 <span class="comment">     * instance owns the XalanParsedSource instance and will</span>
<a name="l00399"></a>00399 <span class="comment">     * delete it when the XalanTransformer instance goes out of scope,</span>
<a name="l00400"></a>00400 <span class="comment">     * or you explicitly call destroyParsedSource().  You must not</span>
<a name="l00401"></a>00401 <span class="comment">     * delete the instance yourself.</span>
<a name="l00402"></a>00402 <span class="comment">     *</span>
<a name="l00403"></a>00403 <span class="comment">     * @param theInputSource input source</span>
<a name="l00404"></a>00404 <span class="comment">     * @param theParsedSource a reference to a pointer to a XalanParsedSource.</span>
<a name="l00405"></a>00405 <span class="comment">     * @param useXercesDOM input use default or xerces DOM source tree</span>
<a name="l00406"></a>00406 <span class="comment">     * @return 0 for success </span>
<a name="l00407"></a>00407 <span class="comment">     */</span>
<a name="l00408"></a>00408     <span class="keywordtype">int</span>
<a name="l00409"></a>00409     parseSource(
<a name="l00410"></a>00410             <span class="keyword">const</span> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp;      theInputSource,
<a name="l00411"></a>00411             <span class="keyword">const</span> XalanParsedSource*&amp;   theParsedSource,
<a name="l00412"></a>00412             <span class="keywordtype">bool</span>                        useXercesDOM = <span class="keyword">false</span>);
<a name="l00413"></a>00413 <span class="comment"></span>
<a name="l00414"></a>00414 <span class="comment">    /**</span>
<a name="l00415"></a>00415 <span class="comment">     * Destroy a parsed source created by a previous call to parseSource().</span>
<a name="l00416"></a>00416 <span class="comment">     *</span>
<a name="l00417"></a>00417 <span class="comment">     * @param theParsedSource The XalanParsedSource instance to destroy.</span>
<a name="l00418"></a>00418 <span class="comment">     * @return 0 for success </span>
<a name="l00419"></a>00419 <span class="comment">     */</span>
<a name="l00420"></a>00420     <span class="keywordtype">int</span>
<a name="l00421"></a>00421     destroyParsedSource(<span class="keyword">const</span> XalanParsedSource*    theParsedSource);
<a name="l00422"></a>00422 <span class="comment"></span>
<a name="l00423"></a>00423 <span class="comment">    /**</span>
<a name="l00424"></a>00424 <span class="comment">     * Create a document builder.  Using the document builder, you</span>
<a name="l00425"></a>00425 <span class="comment">     * can construct a document using SAX2 interfaces.  The XalanTransformer</span>
<a name="l00426"></a>00426 <span class="comment">     * instance owns the document builder and will delete it when the</span>
<a name="l00427"></a>00427 <span class="comment">     * XalanTransformer instance goes out of scope, or you explicitly call</span>
<a name="l00428"></a>00428 <span class="comment">     * destroyDocumentBuilder().  You must not delete the instance yourself.</span>
<a name="l00429"></a>00429 <span class="comment">     *</span>
<a name="l00430"></a>00430 <span class="comment">     * @param theURI The base URI for the document instance.</span>
<a name="l00431"></a>00431 <span class="comment">     * @return  a pointer to a XalanDocumentBuilder instance or 0 for failure.</span>
<a name="l00432"></a>00432 <span class="comment">     */</span>
<a name="l00433"></a>00433     XalanDocumentBuilder*
<a name="l00434"></a>00434     createDocumentBuilder(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;     theURI = <a class="code" href="classXalanDOMString.html">XalanDOMString</a>(<a class="code" href="classXalanMemMgrs.html#a84ae1b0aac1248853efe031284a095ed">XalanMemMgrs::getDummyMemMgr</a>()));
<a name="l00435"></a>00435 <span class="comment"></span>
<a name="l00436"></a>00436 <span class="comment">    /**</span>
<a name="l00437"></a>00437 <span class="comment">     * Destroy a document builder created by a previous call to createDocumentBuilder().</span>
<a name="l00438"></a>00438 <span class="comment">     * Passing a pointer that is not created by a call to createDocumentBuilder() can</span>
<a name="l00439"></a>00439 <span class="comment">     * result in undefined behavior.</span>
<a name="l00440"></a>00440 <span class="comment">     *</span>
<a name="l00441"></a>00441 <span class="comment">     * @param theDocumentBuilder The document builder to destroy.</span>
<a name="l00442"></a>00442 <span class="comment">     */</span>
<a name="l00443"></a>00443     <span class="keywordtype">void</span>
<a name="l00444"></a>00444     destroyDocumentBuilder(XalanDocumentBuilder*    theDocumentBuilder);
<a name="l00445"></a>00445 <span class="comment"></span>
<a name="l00446"></a>00446 <span class="comment">    /**</span>
<a name="l00447"></a>00447 <span class="comment">     * Install an external function in the local space.</span>
<a name="l00448"></a>00448 <span class="comment">     *</span>
<a name="l00449"></a>00449 <span class="comment">     * @param theNamespace The namespace for the functionl</span>
<a name="l00450"></a>00450 <span class="comment">     * @param functionName The name of the function.</span>
<a name="l00451"></a>00451 <span class="comment">     * @param function The function to install.</span>
<a name="l00452"></a>00452 <span class="comment">     */</span>
<a name="l00453"></a>00453     <span class="keywordtype">void</span>
<a name="l00454"></a>00454     installExternalFunction(
<a name="l00455"></a>00455             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theNamespace,
<a name="l00456"></a>00456             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   functionName,
<a name="l00457"></a>00457             <span class="keyword">const</span> Function&amp;         function);
<a name="l00458"></a>00458 <span class="comment"></span>
<a name="l00459"></a>00459 <span class="comment">    /**</span>
<a name="l00460"></a>00460 <span class="comment">     * Install an external function in the global space.</span>
<a name="l00461"></a>00461 <span class="comment">     *</span>
<a name="l00462"></a>00462 <span class="comment">     * @param theNamespace The namespace for the functionl</span>
<a name="l00463"></a>00463 <span class="comment">     * @param functionName The name of the function.</span>
<a name="l00464"></a>00464 <span class="comment">     * @param function The function to install.</span>
<a name="l00465"></a>00465 <span class="comment">     */</span>
<a name="l00466"></a>00466     <span class="keyword">static</span> <span class="keywordtype">void</span>
<a name="l00467"></a>00467     installExternalFunctionGlobal(
<a name="l00468"></a>00468             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theNamespace,
<a name="l00469"></a>00469             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   functionName,
<a name="l00470"></a>00470             <span class="keyword">const</span> Function&amp;         function);
<a name="l00471"></a>00471 <span class="comment"></span>
<a name="l00472"></a>00472 <span class="comment">    /**</span>
<a name="l00473"></a>00473 <span class="comment">     * Uninstall an external local function.</span>
<a name="l00474"></a>00474 <span class="comment">     *</span>
<a name="l00475"></a>00475 <span class="comment">     * @param theNamespace The namespace for the function</span>
<a name="l00476"></a>00476 <span class="comment">     * @param functionName The name of the function.</span>
<a name="l00477"></a>00477 <span class="comment">     */</span>
<a name="l00478"></a>00478     <span class="keywordtype">void</span>
<a name="l00479"></a>00479     uninstallExternalFunction(
<a name="l00480"></a>00480             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theNamespace,
<a name="l00481"></a>00481             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   functionName);
<a name="l00482"></a>00482 <span class="comment"></span>
<a name="l00483"></a>00483 <span class="comment">    /**</span>
<a name="l00484"></a>00484 <span class="comment">     * Uninstall an external global function.</span>
<a name="l00485"></a>00485 <span class="comment">     *</span>
<a name="l00486"></a>00486 <span class="comment">     * @param theNamespace The namespace for the function</span>
<a name="l00487"></a>00487 <span class="comment">     * @param functionName The name of the function.</span>
<a name="l00488"></a>00488 <span class="comment">     */</span>
<a name="l00489"></a>00489     <span class="keyword">static</span> <span class="keywordtype">void</span>
<a name="l00490"></a>00490     uninstallExternalFunctionGlobal(
<a name="l00491"></a>00491             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theNamespace,
<a name="l00492"></a>00492             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   functionName);
<a name="l00493"></a>00493 <span class="comment"></span>
<a name="l00494"></a>00494 <span class="comment">    /**</span>
<a name="l00495"></a>00495 <span class="comment">     * Retrieve the factory object for creating XObjects.</span>
<a name="l00496"></a>00496 <span class="comment">     * </span>
<a name="l00497"></a>00497 <span class="comment">     * @return factory object instance</span>
<a name="l00498"></a>00498 <span class="comment">     */</span>
<a name="l00499"></a>00499     <a class="code" href="classXObjectFactory.html" title="This class handles the creation of XObjects and manages their lifetime.">XObjectFactory</a>&amp;
<a name="l00500"></a><a class="code" href="classXalanTransformer.html#a5fe4d80004b7db947a77295929987196">00500</a>     getXObjectFactory()<span class="keyword"> const</span>
<a name="l00501"></a>00501 <span class="keyword">    </span>{
<a name="l00502"></a>00502         assert(m_topXObjectFactory != 0);
<a name="l00503"></a>00503 
<a name="l00504"></a>00504         <span class="keywordflow">return</span> *m_topXObjectFactory;
<a name="l00505"></a>00505     }
<a name="l00506"></a>00506 <span class="comment"></span>
<a name="l00507"></a>00507 <span class="comment">    /**</span>
<a name="l00508"></a>00508 <span class="comment">     * Set a top-level parameter, which the stylesheet can access</span>
<a name="l00509"></a>00509 <span class="comment">     * with a top-level xsl:param.  Top-level params are &quot;sticky,&quot;</span>
<a name="l00510"></a>00510 <span class="comment">     * and must be removed with a call to clearStylesheetParams().</span>
<a name="l00511"></a>00511 <span class="comment">     *</span>
<a name="l00512"></a>00512 <span class="comment">     * @param key name of the param</span>
<a name="l00513"></a>00513 <span class="comment">     * @param expression expression that will be evaluated</span>
<a name="l00514"></a>00514 <span class="comment">     */</span>
<a name="l00515"></a>00515     <span class="keywordtype">void</span>
<a name="l00516"></a>00516     setStylesheetParam(
<a name="l00517"></a>00517             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   key,
<a name="l00518"></a>00518             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   expression);
<a name="l00519"></a>00519 <span class="comment"></span>
<a name="l00520"></a>00520 <span class="comment">    /**</span>
<a name="l00521"></a>00521 <span class="comment">     * Set a top-level parameter, which the stylesheet can access</span>
<a name="l00522"></a>00522 <span class="comment">     * with a top-level xsl:param.  Top-level params are &quot;sticky,&quot;</span>
<a name="l00523"></a>00523 <span class="comment">     * and must be removed with a call to clearStylesheetParams().</span>
<a name="l00524"></a>00524 <span class="comment">     *</span>
<a name="l00525"></a>00525 <span class="comment">     * @param key name of the param</span>
<a name="l00526"></a>00526 <span class="comment">     * @param expression expression that will be evaluated</span>
<a name="l00527"></a>00527 <span class="comment">     */</span>
<a name="l00528"></a>00528     <span class="keywordtype">void</span>
<a name="l00529"></a>00529     setStylesheetParam(
<a name="l00530"></a>00530             <span class="keyword">const</span> <span class="keywordtype">char</span>*     key,
<a name="l00531"></a>00531             <span class="keyword">const</span> <span class="keywordtype">char</span>*     expression);
<a name="l00532"></a>00532 <span class="comment"></span>
<a name="l00533"></a>00533 <span class="comment">    /**</span>
<a name="l00534"></a>00534 <span class="comment">     * Set a top-level parameter, which the stylesheet can access</span>
<a name="l00535"></a>00535 <span class="comment">     * with a top-level xsl:param.  Top-level params are &quot;sticky,&quot;</span>
<a name="l00536"></a>00536 <span class="comment">     * and must be removed with a call to clearStylesheetParams().</span>
<a name="l00537"></a>00537 <span class="comment">     *</span>
<a name="l00538"></a>00538 <span class="comment">     * @param key name of the param</span>
<a name="l00539"></a>00539 <span class="comment">     * @param number value to be evaluated</span>
<a name="l00540"></a>00540 <span class="comment">     */</span>
<a name="l00541"></a>00541     <span class="keywordtype">void</span>
<a name="l00542"></a>00542     setStylesheetParam(
<a name="l00543"></a>00543             <span class="keyword">const</span> <span class="keywordtype">char</span>*     key,
<a name="l00544"></a>00544             <span class="keywordtype">double</span>          number);
<a name="l00545"></a>00545 <span class="comment"></span>
<a name="l00546"></a>00546 <span class="comment">    /**</span>
<a name="l00547"></a>00547 <span class="comment">     * Set a top-level parameter, which the stylesheet can access</span>
<a name="l00548"></a>00548 <span class="comment">     * with a top-level xsl:param.  Top-level params are &quot;sticky,&quot;</span>
<a name="l00549"></a>00549 <span class="comment">     * and must be removed with a call to clearStylesheetParams().</span>
<a name="l00550"></a>00550 <span class="comment">     *</span>
<a name="l00551"></a>00551 <span class="comment">     * @param key name of the param</span>
<a name="l00552"></a>00552 <span class="comment">     * @param number value to be evaluated</span>
<a name="l00553"></a>00553 <span class="comment">     */</span>
<a name="l00554"></a>00554     <span class="keywordtype">void</span>
<a name="l00555"></a>00555     setStylesheetParam(
<a name="l00556"></a>00556             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;       key,
<a name="l00557"></a>00557             <span class="keywordtype">double</span>                      number);
<a name="l00558"></a>00558 <span class="comment"></span>
<a name="l00559"></a>00559 <span class="comment">    /**</span>
<a name="l00560"></a>00560 <span class="comment">     * Set a top-level parameter, which the stylesheet can access</span>
<a name="l00561"></a>00561 <span class="comment">     * with a top-level xsl:param.  Top-level params are &quot;sticky,&quot;</span>
<a name="l00562"></a>00562 <span class="comment">     * and must be removed with a call to clearStylesheetParams().</span>
<a name="l00563"></a>00563 <span class="comment">     *</span>
<a name="l00564"></a>00564 <span class="comment">     * @param key name of the param</span>
<a name="l00565"></a>00565 <span class="comment">     * @param nodeset XML nodeset that will be evaulated</span>
<a name="l00566"></a>00566 <span class="comment">     */</span>
<a name="l00567"></a>00567     <span class="keywordtype">void</span>
<a name="l00568"></a>00568     setStylesheetParam(
<a name="l00569"></a>00569             <span class="keyword">const</span> <span class="keywordtype">char</span>*               key,
<a name="l00570"></a>00570             XalanNode*          nodeset);
<a name="l00571"></a>00571 <span class="comment"></span>
<a name="l00572"></a>00572 <span class="comment">    /**</span>
<a name="l00573"></a>00573 <span class="comment">     * Set a top-level parameter, which the stylesheet can access</span>
<a name="l00574"></a>00574 <span class="comment">     * with a top-level xsl:param.  Top-level params are &quot;sticky,&quot;</span>
<a name="l00575"></a>00575 <span class="comment">     * and must be removed with a call to clearStylesheetParams().</span>
<a name="l00576"></a>00576 <span class="comment">     *</span>
<a name="l00577"></a>00577 <span class="comment">     * @param key name of the param</span>
<a name="l00578"></a>00578 <span class="comment">     * @param nodeset XML nodeset that will be evaluated</span>
<a name="l00579"></a>00579 <span class="comment">     */</span>
<a name="l00580"></a>00580     <span class="keywordtype">void</span>
<a name="l00581"></a>00581     setStylesheetParam(
<a name="l00582"></a>00582             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;     key,
<a name="l00583"></a>00583             XalanNode*          nodeset);
<a name="l00584"></a>00584 <span class="comment"></span>
<a name="l00585"></a>00585 <span class="comment">    /**</span>
<a name="l00586"></a>00586 <span class="comment">     * Set a top-level parameter, which the stylesheet can access</span>
<a name="l00587"></a>00587 <span class="comment">     * with a top-level xsl:param.  Top-level params are &quot;sticky,&quot;</span>
<a name="l00588"></a>00588 <span class="comment">     * and must be removed with a call to clearStylesheetParams().</span>
<a name="l00589"></a>00589 <span class="comment">     *</span>
<a name="l00590"></a>00590 <span class="comment">     * @param key name of the param</span>
<a name="l00591"></a>00591 <span class="comment">     * @param object any XObject owned by the transformer</span>
<a name="l00592"></a>00592 <span class="comment">     */</span>
<a name="l00593"></a>00593     <span class="keywordtype">void</span>
<a name="l00594"></a>00594     setStylesheetParam(
<a name="l00595"></a>00595             <span class="keyword">const</span> <span class="keywordtype">char</span>*               key,
<a name="l00596"></a>00596             <a class="code" href="classXObjectPtr.html" title="Class to hold XObjectPtr return types.">XObjectPtr</a>                <span class="keywordtype">object</span>);
<a name="l00597"></a>00597 <span class="comment"></span>
<a name="l00598"></a>00598 <span class="comment">    /**</span>
<a name="l00599"></a>00599 <span class="comment">     * Set a top-level parameter, which the stylesheet can access</span>
<a name="l00600"></a>00600 <span class="comment">     * with a top-level xsl:param.  Top-level params are &quot;sticky,&quot;</span>
<a name="l00601"></a>00601 <span class="comment">     * and must be removed with a call to clearStylesheetParams().</span>
<a name="l00602"></a>00602 <span class="comment">     *</span>
<a name="l00603"></a>00603 <span class="comment">     * @param key name of the param</span>
<a name="l00604"></a>00604 <span class="comment">     * @param object any XObject owned by the transformer</span>
<a name="l00605"></a>00605 <span class="comment">     */</span>
<a name="l00606"></a>00606     <span class="keywordtype">void</span>
<a name="l00607"></a>00607     setStylesheetParam(
<a name="l00608"></a>00608             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;     key,
<a name="l00609"></a>00609             <a class="code" href="classXObjectPtr.html" title="Class to hold XObjectPtr return types.">XObjectPtr</a>                <span class="keywordtype">object</span>);
<a name="l00610"></a>00610 <span class="comment"></span>
<a name="l00611"></a>00611 <span class="comment">    /**</span>
<a name="l00612"></a>00612 <span class="comment">     * Clear any stylesheet params.</span>
<a name="l00613"></a>00613 <span class="comment">     */</span>
<a name="l00614"></a>00614     <span class="keywordtype">void</span>
<a name="l00615"></a><a class="code" href="classXalanTransformer.html#a0da96fffe6898799be9404267c284d64">00615</a>     clearStylesheetParams()
<a name="l00616"></a>00616     {
<a name="l00617"></a>00617         m_params.clear();
<a name="l00618"></a>00618         m_topXObjectFactory-&gt;reset();
<a name="l00619"></a>00619     }
<a name="l00620"></a>00620 <span class="comment"></span>
<a name="l00621"></a>00621 <span class="comment">    /**</span>
<a name="l00622"></a>00622 <span class="comment">     * Add a TraceListener instance.  TraceListeners instances are preserved</span>
<a name="l00623"></a>00623 <span class="comment">     * between calls to transform(), so they will be called until they are</span>
<a name="l00624"></a>00624 <span class="comment">     * removed.</span>
<a name="l00625"></a>00625 <span class="comment">     *</span>
<a name="l00626"></a>00626 <span class="comment">     * @param theTraceListener The instance to add.</span>
<a name="l00627"></a>00627 <span class="comment">     */</span>
<a name="l00628"></a>00628     <span class="keywordtype">void</span>
<a name="l00629"></a><a class="code" href="classXalanTransformer.html#aa77b8dbecd1a6cc13f23af78ab09a88e">00629</a>     addTraceListener(TraceListener*     theTraceListener)
<a name="l00630"></a>00630     {
<a name="l00631"></a>00631         m_traceListeners.push_back(theTraceListener);
<a name="l00632"></a>00632     }
<a name="l00633"></a>00633 <span class="comment"></span>
<a name="l00634"></a>00634 <span class="comment">    /**</span>
<a name="l00635"></a>00635 <span class="comment">     * Remove a TraceListener instance</span>
<a name="l00636"></a>00636 <span class="comment">     *</span>
<a name="l00637"></a>00637 <span class="comment">     * @param theTraceListener The instance to remove.</span>
<a name="l00638"></a>00638 <span class="comment">     * @return true if the instance was removed, false if not.</span>
<a name="l00639"></a>00639 <span class="comment">     */</span>
<a name="l00640"></a>00640     <span class="keywordtype">bool</span>
<a name="l00641"></a>00641     removeTraceListener(TraceListener*  theTraceListener);
<a name="l00642"></a>00642 <span class="comment"></span>
<a name="l00643"></a>00643 <span class="comment">    /**</span>
<a name="l00644"></a>00644 <span class="comment">     * Remove all TraceListener instances.</span>
<a name="l00645"></a>00645 <span class="comment">     */</span>
<a name="l00646"></a>00646     <span class="keywordtype">void</span>
<a name="l00647"></a><a class="code" href="classXalanTransformer.html#a80ea827c485e3fd9c0bb625eb81b7eed">00647</a>     removeTraceListeners()
<a name="l00648"></a>00648     {
<a name="l00649"></a>00649         m_traceListeners.clear();
<a name="l00650"></a>00650     }
<a name="l00651"></a>00651 <span class="comment"></span>
<a name="l00652"></a>00652 <span class="comment">    /**</span>
<a name="l00653"></a>00653 <span class="comment">     * Set a flag to indicate whether or not the source file(s) for the</span>
<a name="l00654"></a>00654 <span class="comment">     * transformation will be validated.</span>
<a name="l00655"></a>00655 <span class="comment">     *</span>
<a name="l00656"></a>00656 <span class="comment">     * @param fValue the new value for the flag.</span>
<a name="l00657"></a>00657 <span class="comment">     */</span>
<a name="l00658"></a>00658     <span class="keywordtype">bool</span>
<a name="l00659"></a><a class="code" href="classXalanTransformer.html#a27e97f438e17df0959600c38037e8041">00659</a>     getUseValidation()<span class="keyword"> const</span>
<a name="l00660"></a>00660 <span class="keyword">    </span>{
<a name="l00661"></a>00661         <span class="keywordflow">return</span> m_useValidation;
<a name="l00662"></a>00662     }
<a name="l00663"></a>00663 <span class="comment"></span>
<a name="l00664"></a>00664 <span class="comment">    /**</span>
<a name="l00665"></a>00665 <span class="comment">     * Set a flag to indicate whether or not the source file(s) for the</span>
<a name="l00666"></a>00666 <span class="comment">     * transformation will be validated.</span>
<a name="l00667"></a>00667 <span class="comment">     *</span>
<a name="l00668"></a>00668 <span class="comment">     * @param fValue the new value for the flag.</span>
<a name="l00669"></a>00669 <span class="comment">     */</span>
<a name="l00670"></a>00670     <span class="keywordtype">void</span>
<a name="l00671"></a><a class="code" href="classXalanTransformer.html#ad8bb15a77fdcd27f90b73da30026e797">00671</a>     setUseValidation(<span class="keywordtype">bool</span>   fValue)
<a name="l00672"></a>00672     {
<a name="l00673"></a>00673         m_useValidation = fValue;
<a name="l00674"></a>00674     }
<a name="l00675"></a>00675 <span class="comment"></span>
<a name="l00676"></a>00676 <span class="comment">    /**</span>
<a name="l00677"></a>00677 <span class="comment">     * Returns the installed EntityResolver.</span>
<a name="l00678"></a>00678 <span class="comment">     *</span>
<a name="l00679"></a>00679 <span class="comment">     * @return The pointer to the installed EntityResolver.</span>
<a name="l00680"></a>00680 <span class="comment">     */</span>
<a name="l00681"></a>00681     EntityResolver*
<a name="l00682"></a><a class="code" href="classXalanTransformer.html#a81072299203fea12cd017858eb9f1a66">00682</a>     getEntityResolver()<span class="keyword"> const</span>
<a name="l00683"></a>00683 <span class="keyword">    </span>{
<a name="l00684"></a>00684         <span class="keywordflow">return</span> m_entityResolver;
<a name="l00685"></a>00685     }
<a name="l00686"></a>00686 <span class="comment"></span>
<a name="l00687"></a>00687 <span class="comment">    /**</span>
<a name="l00688"></a>00688 <span class="comment">     * Installs the supplied EntityResolver.</span>
<a name="l00689"></a>00689 <span class="comment">     *</span>
<a name="l00690"></a>00690 <span class="comment">      * A call to setEntityResolver with a non-null pointer will</span>
<a name="l00691"></a>00691 <span class="comment">      * uninstall any XMLEntityResolver previously installed.</span>
<a name="l00692"></a>00692 <span class="comment">      *</span>
<a name="l00693"></a>00693 <span class="comment">     * @param theResolver A pointer to the EntityResolver.</span>
<a name="l00694"></a>00694 <span class="comment">     */</span>
<a name="l00695"></a>00695     <span class="keywordtype">void</span>
<a name="l00696"></a><a class="code" href="classXalanTransformer.html#adfc45c2982525ffbf2bf5f4530af8b56">00696</a>     setEntityResolver(EntityResolver*   theResolver)
<a name="l00697"></a>00697     {
<a name="l00698"></a>00698         m_entityResolver = theResolver;
<a name="l00699"></a>00699 
<a name="l00700"></a>00700         <span class="keywordflow">if</span> (theResolver != 0 &amp;&amp; m_xmlEntityResolver != 0)
<a name="l00701"></a>00701         {
<a name="l00702"></a>00702             m_xmlEntityResolver = 0;
<a name="l00703"></a>00703         }
<a name="l00704"></a>00704     }
<a name="l00705"></a>00705 <span class="comment"></span>
<a name="l00706"></a>00706 <span class="comment">    /**</span>
<a name="l00707"></a>00707 <span class="comment">     * Returns the installed XMLEntityResolver.</span>
<a name="l00708"></a>00708 <span class="comment">     *</span>
<a name="l00709"></a>00709 <span class="comment">     * @return The pointer to the installed XMLEntityResolver.</span>
<a name="l00710"></a>00710 <span class="comment">     */</span>
<a name="l00711"></a>00711     XMLEntityResolver*
<a name="l00712"></a><a class="code" href="classXalanTransformer.html#a545a1c7e1c52fbe0b55e5db128f59224">00712</a>     getXMLEntityResolver()<span class="keyword"> const</span>
<a name="l00713"></a>00713 <span class="keyword">    </span>{
<a name="l00714"></a>00714         <span class="keywordflow">return</span> m_xmlEntityResolver;
<a name="l00715"></a>00715     }
<a name="l00716"></a>00716 <span class="comment"></span>
<a name="l00717"></a>00717 <span class="comment">    /**</span>
<a name="l00718"></a>00718 <span class="comment">     * Installs the supplied XMLEntityResolver.</span>
<a name="l00719"></a>00719 <span class="comment">     *</span>
<a name="l00720"></a>00720 <span class="comment">      * A call to setXMLEntityResolver with a non-null pointer will</span>
<a name="l00721"></a>00721 <span class="comment">      * uninstall any EntityResolver previously installed.</span>
<a name="l00722"></a>00722 <span class="comment">      *</span>
<a name="l00723"></a>00723 <span class="comment">     * @param theResolver A pointer to the XMLEntityResolver.</span>
<a name="l00724"></a>00724 <span class="comment">     */</span>
<a name="l00725"></a>00725     <span class="keywordtype">void</span>
<a name="l00726"></a><a class="code" href="classXalanTransformer.html#a3be8638d664b0990b5581b5f50bce392">00726</a>     setXMLEntityResolver(XMLEntityResolver*     theResolver)
<a name="l00727"></a>00727     {
<a name="l00728"></a>00728         m_xmlEntityResolver = theResolver;
<a name="l00729"></a>00729 
<a name="l00730"></a>00730         <span class="keywordflow">if</span> (theResolver != 0 &amp;&amp; m_entityResolver != 0)
<a name="l00731"></a>00731         {
<a name="l00732"></a>00732             m_entityResolver = 0;
<a name="l00733"></a>00733         }
<a name="l00734"></a>00734     }
<a name="l00735"></a>00735 <span class="comment"></span>
<a name="l00736"></a>00736 <span class="comment">    /**</span>
<a name="l00737"></a>00737 <span class="comment">     * This method returns the installed error handler.</span>
<a name="l00738"></a>00738 <span class="comment">     *</span>
<a name="l00739"></a>00739 <span class="comment">     * @return The pointer to the installed error handler object.</span>
<a name="l00740"></a>00740 <span class="comment">     */</span>
<a name="l00741"></a>00741     ErrorHandler*
<a name="l00742"></a><a class="code" href="classXalanTransformer.html#ad3599916fa36800b4755ab4aeb3453d7">00742</a>     getErrorHandler()<span class="keyword"> const</span>
<a name="l00743"></a>00743 <span class="keyword">    </span>{
<a name="l00744"></a>00744         <span class="keywordflow">return</span> m_errorHandler;
<a name="l00745"></a>00745     }
<a name="l00746"></a>00746 <span class="comment"></span>
<a name="l00747"></a>00747 <span class="comment">    /**</span>
<a name="l00748"></a>00748 <span class="comment">     * This method installs the user-specified error handler.</span>
<a name="l00749"></a>00749 <span class="comment">     *</span>
<a name="l00750"></a>00750 <span class="comment">     * @param handler A pointer to the error handler to be called upon error.</span>
<a name="l00751"></a>00751 <span class="comment">     */</span>
<a name="l00752"></a>00752     <span class="keywordtype">void</span>
<a name="l00753"></a><a class="code" href="classXalanTransformer.html#a5e26a311835bc10b507c73caa678da21">00753</a>     setErrorHandler(ErrorHandler*   theErrorHandler)
<a name="l00754"></a>00754     {
<a name="l00755"></a>00755         m_errorHandler = theErrorHandler;
<a name="l00756"></a>00756     }
<a name="l00757"></a>00757 <span class="comment"></span>
<a name="l00758"></a>00758 <span class="comment">    /**</span>
<a name="l00759"></a>00759 <span class="comment">      * This method returns the location for an external schema document</span>
<a name="l00760"></a>00760 <span class="comment">      * for parsing.</span>
<a name="l00761"></a>00761 <span class="comment">      *</span>
<a name="l00762"></a>00762 <span class="comment">      * @return A string representing the location of the external schema document</span>
<a name="l00763"></a>00763 <span class="comment">      */</span>
<a name="l00764"></a>00764     <span class="keyword">const</span> XalanDOMChar*
<a name="l00765"></a><a class="code" href="classXalanTransformer.html#a12d4c34709ea06e79d9b01f6e23646f0">00765</a>     getExternalSchemaLocation()<span class="keyword"> const</span>
<a name="l00766"></a>00766 <span class="keyword">    </span>{
<a name="l00767"></a>00767         <span class="keywordflow">return</span> m_externalSchemaLocation.empty() == <span class="keyword">true</span> ? 0 : m_externalSchemaLocation.c_str();
<a name="l00768"></a>00768     }
<a name="l00769"></a>00769 <span class="comment"></span>
<a name="l00770"></a>00770 <span class="comment">    /**</span>
<a name="l00771"></a>00771 <span class="comment">      * This method sets the location for an external schema document</span>
<a name="l00772"></a>00772 <span class="comment">      * for parsing.</span>
<a name="l00773"></a>00773 <span class="comment">      *</span>
<a name="l00774"></a>00774 <span class="comment">      * @param location A string representing the location of the external schema document</span>
<a name="l00775"></a>00775 <span class="comment">      */</span>
<a name="l00776"></a>00776     <span class="keywordtype">void</span>
<a name="l00777"></a><a class="code" href="classXalanTransformer.html#a23eead6d544ad20fdc97f128b45e7e95">00777</a>     setExternalSchemaLocation(<span class="keyword">const</span> XalanDOMChar*   location)
<a name="l00778"></a>00778     {
<a name="l00779"></a>00779         assert(location != 0);
<a name="l00780"></a>00780 
<a name="l00781"></a>00781         m_externalSchemaLocation = location;
<a name="l00782"></a>00782     }
<a name="l00783"></a>00783 <span class="comment"></span>
<a name="l00784"></a>00784 <span class="comment">    /**</span>
<a name="l00785"></a>00785 <span class="comment">      * This method returns the location for an external schema document</span>
<a name="l00786"></a>00786 <span class="comment">      * for parsing.</span>
<a name="l00787"></a>00787 <span class="comment">      *</span>
<a name="l00788"></a>00788 <span class="comment">      * @return A string representing the location of the external schema document</span>
<a name="l00789"></a>00789 <span class="comment">      */</span>
<a name="l00790"></a>00790     <span class="keyword">const</span> XalanDOMChar*
<a name="l00791"></a><a class="code" href="classXalanTransformer.html#aa1f3e3f4417489b9def4f7b3db629faf">00791</a>     getExternalNoNamespaceSchemaLocation()<span class="keyword"> const</span>
<a name="l00792"></a>00792 <span class="keyword">    </span>{
<a name="l00793"></a>00793         <span class="keywordflow">return</span> m_externalNoNamespaceSchemaLocation.empty() == <span class="keyword">true</span> ? 0 : m_externalNoNamespaceSchemaLocation.c_str();
<a name="l00794"></a>00794     }
<a name="l00795"></a>00795 <span class="comment"></span>
<a name="l00796"></a>00796 <span class="comment">    /**</span>
<a name="l00797"></a>00797 <span class="comment">      * This method sets the location for an external schema document</span>
<a name="l00798"></a>00798 <span class="comment">      * for parsing.</span>
<a name="l00799"></a>00799 <span class="comment">      *</span>
<a name="l00800"></a>00800 <span class="comment">      * @param location A string representing the location of the external schema document</span>
<a name="l00801"></a>00801 <span class="comment">      */</span>
<a name="l00802"></a>00802     <span class="keywordtype">void</span>
<a name="l00803"></a><a class="code" href="classXalanTransformer.html#aab2c430a3ab4b7927f34d779b12c6c84">00803</a>     setExternalNoNamespaceSchemaLocation(<span class="keyword">const</span> XalanDOMChar*    location)
<a name="l00804"></a>00804     {
<a name="l00805"></a>00805         assert(location != 0);
<a name="l00806"></a>00806 
<a name="l00807"></a>00807         m_externalNoNamespaceSchemaLocation = location;
<a name="l00808"></a>00808     }
<a name="l00809"></a>00809 <span class="comment"></span>
<a name="l00810"></a>00810 <span class="comment">    /**</span>
<a name="l00811"></a>00811 <span class="comment">      * This member functions gets the flag to determine of a default parsed source</span>
<a name="l00812"></a>00812 <span class="comment">      * tree will pool the values of all of the text nodes in the XML document.</span>
<a name="l00813"></a>00813 <span class="comment">      *</span>
<a name="l00814"></a>00814 <span class="comment">      * @return The boolean value for the flag.</span>
<a name="l00815"></a>00815 <span class="comment">      */</span>
<a name="l00816"></a>00816     <span class="keywordtype">bool</span>
<a name="l00817"></a><a class="code" href="classXalanTransformer.html#a3abceb56aa4a355ab28db15c9e76a9c1">00817</a>     getPoolAllTextNodes()<span class="keyword"> const</span>
<a name="l00818"></a>00818 <span class="keyword">    </span>{
<a name="l00819"></a>00819         <span class="keywordflow">return</span> m_poolAllTextNodes;
<a name="l00820"></a>00820     }
<a name="l00821"></a>00821 <span class="comment"></span>
<a name="l00822"></a>00822 <span class="comment">    /**</span>
<a name="l00823"></a>00823 <span class="comment">      * This member functions sets the flag to determine of a default parsed source</span>
<a name="l00824"></a>00824 <span class="comment">      * tree will pool the values of all of the text nodes in the XML document.  This</span>
<a name="l00825"></a>00825 <span class="comment">      * can result in significant memory savings if there are lots of repeated values</span>
<a name="l00826"></a>00826 <span class="comment">      * in text nodes.</span>
<a name="l00827"></a>00827 <span class="comment">      *</span>
<a name="l00828"></a>00828 <span class="comment">      * @param fPool The boolean value for the flag.</span>
<a name="l00829"></a>00829 <span class="comment">      */</span>
<a name="l00830"></a>00830     <span class="keywordtype">void</span>
<a name="l00831"></a><a class="code" href="classXalanTransformer.html#a76018af7a91b73e68a6f8f937737c811">00831</a>     setPoolAllTextNodes(<span class="keywordtype">bool</span>    fPool)
<a name="l00832"></a>00832     {
<a name="l00833"></a>00833         m_poolAllTextNodes = fPool;
<a name="l00834"></a>00834     }
<a name="l00835"></a>00835 <span class="comment"></span>
<a name="l00836"></a>00836 <span class="comment">    /**</span>
<a name="l00837"></a>00837 <span class="comment">     * This method returns the installed ProblemListener instance.</span>
<a name="l00838"></a>00838 <span class="comment">     *</span>
<a name="l00839"></a>00839 <span class="comment">     * @return The pointer to the installed ProblemListener instance.</span>
<a name="l00840"></a>00840 <span class="comment">     */</span>
<a name="l00841"></a>00841     ProblemListener*
<a name="l00842"></a><a class="code" href="classXalanTransformer.html#a662f434233e37be14cca9af56627a263">00842</a>     getProblemListener()<span class="keyword"> const</span>
<a name="l00843"></a>00843 <span class="keyword">    </span>{
<a name="l00844"></a>00844         <span class="keywordflow">return</span>  m_problemListener;
<a name="l00845"></a>00845     }
<a name="l00846"></a>00846 <span class="comment"></span>
<a name="l00847"></a>00847 <span class="comment">    /**</span>
<a name="l00848"></a>00848 <span class="comment">     * This method installs the user-specified ProblemListener instance.</span>
<a name="l00849"></a>00849 <span class="comment">     *</span>
<a name="l00850"></a>00850 <span class="comment">     * @param handler A pointer to the ProblemListener to be called when a problem occurs.</span>
<a name="l00851"></a>00851 <span class="comment">     */</span>
<a name="l00852"></a>00852     <span class="keywordtype">void</span>
<a name="l00853"></a><a class="code" href="classXalanTransformer.html#adc03b7e8252bd0ff2d2d50d6ecf84fc2">00853</a>     setProblemListener(ProblemListener*     theProblemListener)
<a name="l00854"></a>00854     {
<a name="l00855"></a>00855         m_problemListener = theProblemListener;
<a name="l00856"></a>00856     }
<a name="l00857"></a>00857 <span class="comment"></span>
<a name="l00858"></a>00858 <span class="comment">    /**</span>
<a name="l00859"></a>00859 <span class="comment">     * Returns the last error that occurred as a </span>
<a name="l00860"></a>00860 <span class="comment">     * result of calling transform. </span>
<a name="l00861"></a>00861 <span class="comment">     *</span>
<a name="l00862"></a>00862 <span class="comment">     * @return  error message const character pointer.</span>
<a name="l00863"></a>00863 <span class="comment">     */</span>
<a name="l00864"></a>00864     <span class="keyword">const</span> <span class="keywordtype">char</span>*
<a name="l00865"></a><a class="code" href="classXalanTransformer.html#adf6a2e96e41c3a05a7d201272f83595d">00865</a>     getLastError()<span class="keyword"> const</span>
<a name="l00866"></a>00866 <span class="keyword">    </span>{
<a name="l00867"></a>00867         assert(m_errorMessage.empty() == <span class="keyword">false</span>);
<a name="l00868"></a>00868 
<a name="l00869"></a>00869         <span class="keywordflow">return</span> &amp;m_errorMessage[0]; 
<a name="l00870"></a>00870     }
<a name="l00871"></a>00871 <span class="comment"></span>
<a name="l00872"></a>00872 <span class="comment">    /**</span>
<a name="l00873"></a>00873 <span class="comment">     * Get the current output encoding, if any.  Note this is not the output encoding</span>
<a name="l00874"></a>00874 <span class="comment">     * specified in a stylesheet.  Rather, it can override that encoding, if the</span>
<a name="l00875"></a>00875 <span class="comment">     *</span>
<a name="l00876"></a>00876 <span class="comment">     * @return A string containing the current encoding</span>
<a name="l00877"></a>00877 <span class="comment">     */</span>
<a name="l00878"></a>00878     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00879"></a><a class="code" href="classXalanTransformer.html#a332d07e644b90d2a7ca709f227cad4ae">00879</a>     getOutputEncoding()<span class="keyword"> const</span>
<a name="l00880"></a>00880 <span class="keyword">    </span>{
<a name="l00881"></a>00881         <span class="keywordflow">return</span> m_outputEncoding;
<a name="l00882"></a>00882     }
<a name="l00883"></a>00883 <span class="comment"></span>
<a name="l00884"></a>00884 <span class="comment">    /**</span>
<a name="l00885"></a>00885 <span class="comment">     * Set the current output encoding.  Note this will override the encoding</span>
<a name="l00886"></a>00886 <span class="comment">     * specified in the stylesheet, if the encoding is available.  However,</span>
<a name="l00887"></a>00887 <span class="comment">     * it will not override any encoding specified by an XSLTResultTarget</span>
<a name="l00888"></a>00888 <span class="comment">     * parameter to one of the transform() member functions.</span>
<a name="l00889"></a>00889 <span class="comment">     *</span>
<a name="l00890"></a>00890 <span class="comment">     * @param theEncoding The encoding to use.</span>
<a name="l00891"></a>00891 <span class="comment">     */</span>
<a name="l00892"></a>00892     <span class="keywordtype">void</span>
<a name="l00893"></a><a class="code" href="classXalanTransformer.html#a8ff6dd9d5c631c7c4873bcd22b9481bf">00893</a>     setOutputEncoding(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;     theEncoding)
<a name="l00894"></a>00894     {
<a name="l00895"></a>00895         m_outputEncoding = theEncoding;
<a name="l00896"></a>00896     }
<a name="l00897"></a>00897 <span class="comment"></span>
<a name="l00898"></a>00898 <span class="comment">    /**</span>
<a name="l00899"></a>00899 <span class="comment">     * Get the current number of spaces to indent.</span>
<a name="l00900"></a>00900 <span class="comment">     * </span>
<a name="l00901"></a>00901 <span class="comment">     * @return number of spaces</span>
<a name="l00902"></a>00902 <span class="comment">     */</span>
<a name="l00903"></a>00903     <span class="keywordtype">int</span>
<a name="l00904"></a>00904     getIndent() <span class="keyword">const</span>;
<a name="l00905"></a>00905 <span class="comment"></span>
<a name="l00906"></a>00906 <span class="comment">    /**</span>
<a name="l00907"></a>00907 <span class="comment">     * Set the current number of spaces to indent.</span>
<a name="l00908"></a>00908 <span class="comment">     * </span>
<a name="l00909"></a>00909 <span class="comment">     * @param indentAmount The number of spaces to indent.  Use -1 for the default amount.</span>
<a name="l00910"></a>00910 <span class="comment">     */</span>
<a name="l00911"></a>00911     <span class="keywordtype">void</span>
<a name="l00912"></a>00912     setIndent(<span class="keywordtype">int</span>   indentAmount);
<a name="l00913"></a>00913 <span class="comment"></span>
<a name="l00914"></a>00914 <span class="comment">    /**</span>
<a name="l00915"></a>00915 <span class="comment">     * Enums to determine whether or not run-time escaping of URLs has been set.</span>
<a name="l00916"></a>00916 <span class="comment">     */</span>
<a name="l00917"></a><a class="code" href="classXalanTransformer.html#a09309419005c8c5d7247594329ec40db">00917</a>     <span class="keyword">enum</span> <a class="code" href="classXalanTransformer.html#a09309419005c8c5d7247594329ec40db" title="Enums to determine whether or not run-time escaping of URLs has been set.">eEscapeURLs</a>
<a name="l00918"></a>00918     {
<a name="l00919"></a><a class="code" href="classXalanTransformer.html#a09309419005c8c5d7247594329ec40dba1395a02642156f90dba142bfcaa6a3bf">00919</a>         eEscapeURLsDefault,     <span class="comment">// Use the value in the stylesheet</span>
<a name="l00920"></a><a class="code" href="classXalanTransformer.html#a09309419005c8c5d7247594329ec40dba6de736f8da35867563bb441fe84fb0c0">00920</a>         eEscapeURLsNo,          <span class="comment">// Don&#39;t escape URLs</span>
<a name="l00921"></a><a class="code" href="classXalanTransformer.html#a09309419005c8c5d7247594329ec40dba004aa09a3fd52c0e3a024976ce701c7d">00921</a>         eEscapeURLsYes          <span class="comment">// Escape URLs</span>
<a name="l00922"></a>00922     };
<a name="l00923"></a>00923 <span class="comment"></span>
<a name="l00924"></a>00924 <span class="comment">    /**</span>
<a name="l00925"></a>00925 <span class="comment">     * Get the value for run-time escaping of URLs.  This can</span>
<a name="l00926"></a>00926 <span class="comment">     * override the property specified by the stylesheet.  The</span>
<a name="l00927"></a>00927 <span class="comment">     * default behavior is to honor the property in the stylesheet.</span>
<a name="l00928"></a>00928 <span class="comment">     *</span>
<a name="l00929"></a>00929 <span class="comment">     * @return The value of the enum</span>
<a name="l00930"></a>00930 <span class="comment">     */</span>
<a name="l00931"></a>00931     eEscapeURLs
<a name="l00932"></a>00932     getEscapeURLs() <span class="keyword">const</span>;
<a name="l00933"></a>00933 <span class="comment"></span>
<a name="l00934"></a>00934 <span class="comment">    /**</span>
<a name="l00935"></a>00935 <span class="comment">     * Set the value for run-time escaping of URLs.  This can</span>
<a name="l00936"></a>00936 <span class="comment">     * override the property specified by the stylesheet.  The</span>
<a name="l00937"></a>00937 <span class="comment">     * default behavior is to honor the property in the stylesheet.</span>
<a name="l00938"></a>00938 <span class="comment">     *</span>
<a name="l00939"></a>00939 <span class="comment">     * @param value The value of the enum</span>
<a name="l00940"></a>00940 <span class="comment">     */</span>
<a name="l00941"></a>00941     <span class="keywordtype">void</span>
<a name="l00942"></a>00942     setEscapeURLs(eEscapeURLs   value);
<a name="l00943"></a>00943 <span class="comment"></span>
<a name="l00944"></a>00944 <span class="comment">    /**</span>
<a name="l00945"></a>00945 <span class="comment">     * Enums to determine whether or not run-time omission of the META tag has been set.</span>
<a name="l00946"></a>00946 <span class="comment">     * Relevant only for HTML output</span>
<a name="l00947"></a>00947 <span class="comment">     */</span>
<a name="l00948"></a><a class="code" href="classXalanTransformer.html#a11627059d6dc73330e66778c89332a6c">00948</a>     <span class="keyword">enum</span> <a class="code" href="classXalanTransformer.html#a11627059d6dc73330e66778c89332a6c" title="Enums to determine whether or not run-time omission of the META tag has been set.">eOmitMETATag</a>
<a name="l00949"></a>00949     {
<a name="l00950"></a><a class="code" href="classXalanTransformer.html#a11627059d6dc73330e66778c89332a6ca247bd464ac0f41b90d45057c7c4395f3">00950</a>         eOmitMETATagDefault,    <span class="comment">// Use the value in the stylesheet</span>
<a name="l00951"></a><a class="code" href="classXalanTransformer.html#a11627059d6dc73330e66778c89332a6ca88466a08d47fd67b4818e9a21f80c3fd">00951</a>         eOmitMETATagNo,         <span class="comment">// Don&#39;t omit the META tag</span>
<a name="l00952"></a><a class="code" href="classXalanTransformer.html#a11627059d6dc73330e66778c89332a6ca210741879ea324ea5ffc06e5e1534a59">00952</a>         eOmitMETATagYes         <span class="comment">// Omit the META tag</span>
<a name="l00953"></a>00953     };
<a name="l00954"></a>00954 <span class="comment"></span>
<a name="l00955"></a>00955 <span class="comment">    /**</span>
<a name="l00956"></a>00956 <span class="comment">     * Get the value for run-time omission of the META tag.  This can</span>
<a name="l00957"></a>00957 <span class="comment">     * override the property specified by the stylesheet.  The</span>
<a name="l00958"></a>00958 <span class="comment">     * default behavior is to honor the property in the stylesheet.</span>
<a name="l00959"></a>00959 <span class="comment">     *</span>
<a name="l00960"></a>00960 <span class="comment">     * @return The value of the enum</span>
<a name="l00961"></a>00961 <span class="comment">     */</span>
<a name="l00962"></a>00962     eOmitMETATag
<a name="l00963"></a>00963     getOmitMETATag() <span class="keyword">const</span>;
<a name="l00964"></a>00964 <span class="comment"></span>
<a name="l00965"></a>00965 <span class="comment">    /**</span>
<a name="l00966"></a>00966 <span class="comment">     * Get the value for run-time omission of the META tag.  This can</span>
<a name="l00967"></a>00967 <span class="comment">     * override the property specified by the stylesheet.  The</span>
<a name="l00968"></a>00968 <span class="comment">     * default behavior is to honor the property in the stylesheet.</span>
<a name="l00969"></a>00969 <span class="comment">     *</span>
<a name="l00970"></a>00970 <span class="comment">     * @param value The value of the enum</span>
<a name="l00971"></a>00971 <span class="comment">     */</span>
<a name="l00972"></a>00972     <span class="keywordtype">void</span>
<a name="l00973"></a>00973     setOmitMETATag(eOmitMETATag     value);
<a name="l00974"></a>00974 <span class="comment"></span>
<a name="l00975"></a>00975 <span class="comment">    /**</span>
<a name="l00976"></a>00976 <span class="comment">     * Set the ostream instance for reporting errors.  The default</span>
<a name="l00977"></a>00977 <span class="comment">     * is a null pointer, so errors are not reported.  If there is </span>
<a name="l00978"></a>00978 <span class="comment">     * a user-installed ProblemListener instance, this is not used, as</span>
<a name="l00979"></a>00979 <span class="comment">     * all such warnings and messages are handled by the that</span>
<a name="l00980"></a>00980 <span class="comment">     * ProblemListener.</span>
<a name="l00981"></a>00981 <span class="comment">     *</span>
<a name="l00982"></a>00982 <span class="comment">     * @param theStream A pointer to the ostream instance.</span>
<a name="l00983"></a>00983 <span class="comment">     */</span>
<a name="l00984"></a>00984     <span class="keywordtype">void</span>
<a name="l00985"></a><a class="code" href="classXalanTransformer.html#ad901796d48544975806de9ab49f1f0bc">00985</a>     setErrorStream(StreamType*  theStream)
<a name="l00986"></a>00986     {
<a name="l00987"></a>00987         m_errorStream = theStream;
<a name="l00988"></a>00988     }
<a name="l00989"></a>00989 <span class="comment"></span>
<a name="l00990"></a>00990 <span class="comment">    /**</span>
<a name="l00991"></a>00991 <span class="comment">     * Get the current error stream ostream instance.</span>
<a name="l00992"></a>00992 <span class="comment">     *</span>
<a name="l00993"></a>00993 <span class="comment">     * @return A pointer to the instance.  Can be a null pointer.</span>
<a name="l00994"></a>00994 <span class="comment">     */</span>
<a name="l00995"></a>00995     StreamType*
<a name="l00996"></a><a class="code" href="classXalanTransformer.html#ab4db4537481d5965ae19ecdf2775ee69">00996</a>     getErrorStream()<span class="keyword"> const</span>
<a name="l00997"></a>00997 <span class="keyword">    </span>{
<a name="l00998"></a>00998         <span class="keywordflow">return</span> m_errorStream;
<a name="l00999"></a>00999     }
<a name="l01000"></a>01000 <span class="comment"></span>
<a name="l01001"></a>01001 <span class="comment">    /**</span>
<a name="l01002"></a>01002 <span class="comment">     * Set the ostream instance for reporting warnings and messages.  The default</span>
<a name="l01003"></a>01003 <span class="comment">     * is std::cerr.  If set to a null pointer, no warnings or messages are written.</span>
<a name="l01004"></a>01004 <span class="comment">     * If there is a user-installed ProblemListener instance, this is not used, as</span>
<a name="l01005"></a>01005 <span class="comment">     * all such warnings and messages are handled by the that ProblemListener.</span>
<a name="l01006"></a>01006 <span class="comment">     *</span>
<a name="l01007"></a>01007 <span class="comment">     * @param theStream A pointer to the ostream instance.</span>
<a name="l01008"></a>01008 <span class="comment">     */</span>
<a name="l01009"></a>01009     <span class="keywordtype">void</span>
<a name="l01010"></a><a class="code" href="classXalanTransformer.html#ad798b7ad967cf6d03fb70c6889053b68">01010</a>     setWarningStream(StreamType*    theStream)
<a name="l01011"></a>01011     {
<a name="l01012"></a>01012         m_warningStream = theStream;
<a name="l01013"></a>01013     }
<a name="l01014"></a>01014 <span class="comment"></span>
<a name="l01015"></a>01015 <span class="comment">    /**</span>
<a name="l01016"></a>01016 <span class="comment">     * Get the current warning stream ostream instance.</span>
<a name="l01017"></a>01017 <span class="comment">     *</span>
<a name="l01018"></a>01018 <span class="comment">     * @return A pointer to the instance.  Can be a null pointer.</span>
<a name="l01019"></a>01019 <span class="comment">     */</span>
<a name="l01020"></a>01020     StreamType*
<a name="l01021"></a><a class="code" href="classXalanTransformer.html#adad2bea6c8b6c7c4ec210953b30a59a8">01021</a>     getWarningStream()<span class="keyword"> const</span>
<a name="l01022"></a>01022 <span class="keyword">    </span>{
<a name="l01023"></a>01023         <span class="keywordflow">return</span> m_warningStream;
<a name="l01024"></a>01024     }
<a name="l01025"></a>01025 
<a name="l01026"></a>01026     <span class="keywordtype">bool</span>
<a name="l01027"></a>01027     getICUAvailable() <span class="keyword">const</span>;
<a name="l01028"></a>01028 
<a name="l01029"></a><a class="code" href="classXalanTransformer_1_1EnsureFunctionsInstallation.html">01029</a>     <span class="keyword">class </span><a class="code" href="classXalanTransformer_1_1EnsureFunctionsInstallation.html">EnsureFunctionsInstallation</a>
<a name="l01030"></a>01030     {
<a name="l01031"></a>01031     <span class="keyword">public</span>:
<a name="l01032"></a>01032 
<a name="l01033"></a><a class="code" href="classXalanTransformer_1_1EnsureFunctionsInstallation.html#adfa862ecf578ad7bdd0838218b2f3586">01033</a>         <a class="code" href="classXalanTransformer_1_1EnsureFunctionsInstallation.html">EnsureFunctionsInstallation</a>(MemoryManager&amp;  theManager) : 
<a name="l01034"></a>01034             m_memoryManagement(theManager),
<a name="l01035"></a>01035             m_release(false)
<a name="l01036"></a>01036         {    
<a name="l01037"></a>01037         }
<a name="l01038"></a>01038 
<a name="l01039"></a>01039         ~<a class="code" href="classXalanTransformer_1_1EnsureFunctionsInstallation.html">EnsureFunctionsInstallation</a>();
<a name="l01040"></a>01040 
<a name="l01041"></a>01041         <span class="keywordtype">void</span>
<a name="l01042"></a>01042         install();
<a name="l01043"></a>01043 
<a name="l01044"></a>01044         <span class="keywordtype">void</span>
<a name="l01045"></a><a class="code" href="classXalanTransformer_1_1EnsureFunctionsInstallation.html#a4ea7772b54a0319c4ca346e0c4967858">01045</a>         release()
<a name="l01046"></a>01046         {
<a name="l01047"></a>01047             m_release = <span class="keyword">true</span>;
<a name="l01048"></a>01048         }
<a name="l01049"></a>01049 
<a name="l01050"></a>01050     <span class="keyword">private</span>:
<a name="l01051"></a>01051 
<a name="l01052"></a>01052         MemoryManager&amp;  m_memoryManagement;
<a name="l01053"></a>01053 
<a name="l01054"></a>01054         <span class="keywordtype">bool</span>            m_release;
<a name="l01055"></a>01055     };
<a name="l01056"></a>01056 
<a name="l01057"></a><a class="code" href="classXalanTransformer_1_1EnsureDestroyParsedSource.html">01057</a>     <span class="keyword">class </span><a class="code" href="classXalanTransformer_1_1EnsureDestroyParsedSource.html">EnsureDestroyParsedSource</a>
<a name="l01058"></a>01058     {
<a name="l01059"></a>01059     <span class="keyword">public</span>:
<a name="l01060"></a>01060 
<a name="l01061"></a><a class="code" href="classXalanTransformer_1_1EnsureDestroyParsedSource.html#a3743537f3bb1a0d10f4297880f338860">01061</a>         <a class="code" href="classXalanTransformer_1_1EnsureDestroyParsedSource.html">EnsureDestroyParsedSource</a>(
<a name="l01062"></a>01062                 XalanTransformer&amp;           theTransformer,
<a name="l01063"></a>01063                 <span class="keyword">const</span> XalanParsedSource*    theParsedSource) :
<a name="l01064"></a>01064             m_transformer(theTransformer),
<a name="l01065"></a>01065             m_parsedSource(theParsedSource)
<a name="l01066"></a>01066         {
<a name="l01067"></a>01067         }
<a name="l01068"></a>01068 
<a name="l01069"></a><a class="code" href="classXalanTransformer_1_1EnsureDestroyParsedSource.html#a1fdcb274bc407eeff3dd0c9ea77c4999">01069</a>         ~<a class="code" href="classXalanTransformer_1_1EnsureDestroyParsedSource.html">EnsureDestroyParsedSource</a>()
<a name="l01070"></a>01070         {
<a name="l01071"></a>01071             m_transformer.destroyParsedSource(m_parsedSource);
<a name="l01072"></a>01072         }
<a name="l01073"></a>01073 
<a name="l01074"></a>01074     <span class="keyword">private</span>:
<a name="l01075"></a>01075 
<a name="l01076"></a>01076         XalanTransformer&amp;               m_transformer;
<a name="l01077"></a>01077 
<a name="l01078"></a>01078         <span class="keyword">const</span> XalanParsedSource* <span class="keyword">const</span>  m_parsedSource;
<a name="l01079"></a>01079     };
<a name="l01080"></a>01080 
<a name="l01081"></a><a class="code" href="classXalanTransformer_1_1EnsureDestroyCompiledStylesheet.html">01081</a>     <span class="keyword">class </span><a class="code" href="classXalanTransformer_1_1EnsureDestroyCompiledStylesheet.html">EnsureDestroyCompiledStylesheet</a>
<a name="l01082"></a>01082     {
<a name="l01083"></a>01083     <span class="keyword">public</span>:
<a name="l01084"></a>01084 
<a name="l01085"></a><a class="code" href="classXalanTransformer_1_1EnsureDestroyCompiledStylesheet.html#a81b856542c8e6edce2173f47fdcf1b52">01085</a>         <a class="code" href="classXalanTransformer_1_1EnsureDestroyCompiledStylesheet.html">EnsureDestroyCompiledStylesheet</a>(
<a name="l01086"></a>01086                 XalanTransformer&amp;               theTransformer,
<a name="l01087"></a>01087                 <span class="keyword">const</span> XalanCompiledStylesheet*  theCompiledStylesheet) :
<a name="l01088"></a>01088             m_transformer(theTransformer),
<a name="l01089"></a>01089             m_compiledStylesheet(theCompiledStylesheet)
<a name="l01090"></a>01090         {
<a name="l01091"></a>01091         }
<a name="l01092"></a>01092 
<a name="l01093"></a><a class="code" href="classXalanTransformer_1_1EnsureDestroyCompiledStylesheet.html#a53f7efd2e05154243e2aa4ed01019d20">01093</a>         ~<a class="code" href="classXalanTransformer_1_1EnsureDestroyCompiledStylesheet.html">EnsureDestroyCompiledStylesheet</a>()
<a name="l01094"></a>01094         {
<a name="l01095"></a>01095             m_transformer.destroyStylesheet(m_compiledStylesheet);
<a name="l01096"></a>01096         }
<a name="l01097"></a>01097 
<a name="l01098"></a>01098     <span class="keyword">private</span>:
<a name="l01099"></a>01099 
<a name="l01100"></a>01100         XalanTransformer&amp;                       m_transformer;
<a name="l01101"></a>01101 
<a name="l01102"></a>01102         <span class="keyword">const</span> XalanCompiledStylesheet* <span class="keyword">const</span>    m_compiledStylesheet;
<a name="l01103"></a>01103     };
<a name="l01104"></a>01104 
<a name="l01105"></a><a class="code" href="structXalanTransformer_1_1EnsureDestroyDocumentBuilder.html">01105</a>     <span class="keyword">struct </span><a class="code" href="structXalanTransformer_1_1EnsureDestroyDocumentBuilder.html">EnsureDestroyDocumentBuilder</a>
<a name="l01106"></a>01106     {
<a name="l01107"></a><a class="code" href="structXalanTransformer_1_1EnsureDestroyDocumentBuilder.html#a022ba16ab0dbc6cf771b5b81ff548f67">01107</a>         <a class="code" href="structXalanTransformer_1_1EnsureDestroyDocumentBuilder.html">EnsureDestroyDocumentBuilder</a>(
<a name="l01108"></a>01108                 XalanTransformer&amp;       theTransformer,
<a name="l01109"></a>01109                 XalanDocumentBuilder*   theDocumentBuilder) :
<a name="l01110"></a>01110             m_transformer(theTransformer),
<a name="l01111"></a>01111             m_documentBuilder(theDocumentBuilder)
<a name="l01112"></a>01112         {
<a name="l01113"></a>01113         }
<a name="l01114"></a>01114 
<a name="l01115"></a><a class="code" href="structXalanTransformer_1_1EnsureDestroyDocumentBuilder.html#ab89dd6087b98bdcc302a8b1700d74d97">01115</a>         ~<a class="code" href="structXalanTransformer_1_1EnsureDestroyDocumentBuilder.html">EnsureDestroyDocumentBuilder</a>()
<a name="l01116"></a>01116         {
<a name="l01117"></a>01117             m_transformer.destroyDocumentBuilder(m_documentBuilder);
<a name="l01118"></a>01118         }
<a name="l01119"></a>01119 
<a name="l01120"></a>01120     <span class="keyword">private</span>:
<a name="l01121"></a>01121 
<a name="l01122"></a>01122         XalanTransformer&amp;           m_transformer;
<a name="l01123"></a>01123 
<a name="l01124"></a>01124         XalanDocumentBuilder* <span class="keyword">const</span> m_documentBuilder;
<a name="l01125"></a>01125     };
<a name="l01126"></a>01126 
<a name="l01127"></a>01127 <span class="keyword">protected</span>:
<a name="l01128"></a>01128 
<a name="l01129"></a>01129 <span class="keyword">private</span>:
<a name="l01130"></a>01130 
<a name="l01131"></a>01131     <span class="keywordtype">void</span>
<a name="l01132"></a>01132     reset();
<a name="l01133"></a>01133 
<a name="l01134"></a>01134     <span class="keyword">class </span>EnsureReset
<a name="l01135"></a>01135     {
<a name="l01136"></a>01136     <span class="keyword">public</span>:
<a name="l01137"></a>01137 
<a name="l01138"></a>01138         EnsureReset(XalanTransformer&amp;   theTransformer) :
<a name="l01139"></a>01139             m_transformer(theTransformer)
<a name="l01140"></a>01140         {
<a name="l01141"></a>01141         }
<a name="l01142"></a>01142 
<a name="l01143"></a>01143         ~EnsureReset();
<a name="l01144"></a>01144 
<a name="l01145"></a>01145     <span class="keyword">private</span>:
<a name="l01146"></a>01146 
<a name="l01147"></a>01147         XalanTransformer&amp;   m_transformer;
<a name="l01148"></a>01148     };
<a name="l01149"></a>01149 
<a name="l01150"></a><a class="code" href="classXalanTransformer.html#aa1dde40a10b60752b4d13239a39e7069">01150</a>     <span class="keyword">friend</span> <span class="keyword">class </span>EnsureReset;
<a name="l01151"></a>01151 
<a name="l01152"></a>01152     <span class="keywordtype">int</span>
<a name="l01153"></a>01153     doTransform(
<a name="l01154"></a>01154             <span class="keyword">const</span> XalanParsedSource&amp;        theParsedXML, 
<a name="l01155"></a>01155             <span class="keyword">const</span> XalanCompiledStylesheet*  theCompiledStylesheet,
<a name="l01156"></a>01156             <span class="keyword">const</span> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>*          theStylesheetSource,
<a name="l01157"></a>01157             <span class="keyword">const</span> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp;         theResultTarget);
<a name="l01158"></a>01158 
<a name="l01159"></a>01159 
<a name="l01160"></a>01160     <span class="comment">// Data members...</span>
<a name="l01161"></a>01161     MemoryManager&amp;                          m_memoryManager;
<a name="l01162"></a>01162 
<a name="l01163"></a>01163     CompiledStylesheetPtrVectorType         m_compiledStylesheets;
<a name="l01164"></a>01164 
<a name="l01165"></a>01165     ParsedSourcePtrVectorType               m_parsedSources;
<a name="l01166"></a>01166 
<a name="l01167"></a>01167     ParamMapType                            m_params;
<a name="l01168"></a>01168 
<a name="l01169"></a>01169     FunctionMapType                         m_functions;
<a name="l01170"></a>01170 
<a name="l01171"></a>01171     TraceListenerVectorType                 m_traceListeners;
<a name="l01172"></a>01172 
<a name="l01173"></a>01173     <a class="code" href="classXalanVector.html">CharVectorType</a>                          m_errorMessage;
<a name="l01174"></a>01174 
<a name="l01175"></a>01175     <span class="keywordtype">bool</span>                                    m_useValidation;
<a name="l01176"></a>01176 
<a name="l01177"></a>01177     EntityResolver*                         m_entityResolver;
<a name="l01178"></a>01178 
<a name="l01179"></a>01179     XMLEntityResolver*                      m_xmlEntityResolver;
<a name="l01180"></a>01180 
<a name="l01181"></a>01181     ErrorHandler*                           m_errorHandler;
<a name="l01182"></a>01182 
<a name="l01183"></a>01183     <a class="code" href="classXalanDOMString.html">XalanDOMString</a>                          m_externalSchemaLocation;
<a name="l01184"></a>01184 
<a name="l01185"></a>01185     <a class="code" href="classXalanDOMString.html">XalanDOMString</a>                          m_externalNoNamespaceSchemaLocation;
<a name="l01186"></a>01186 
<a name="l01187"></a>01187     ProblemListener*                        m_problemListener;
<a name="l01188"></a>01188 
<a name="l01189"></a>01189     StreamType*                             m_errorStream;
<a name="l01190"></a>01190 
<a name="l01191"></a>01191     StreamType*                             m_warningStream;
<a name="l01192"></a>01192 
<a name="l01193"></a>01193     <a class="code" href="classXalanDOMString.html">XalanDOMString</a>                          m_outputEncoding;
<a name="l01194"></a>01194 
<a name="l01195"></a>01195     <span class="keywordtype">bool</span>                                    m_poolAllTextNodes;
<a name="l01196"></a>01196 
<a name="l01197"></a>01197     XObjectFactoryDefault*                  m_topXObjectFactory;
<a name="l01198"></a>01198 
<a name="l01199"></a>01199     <span class="comment">// This should always be the latest data member!!!</span>
<a name="l01200"></a>01200     StylesheetExecutionContextDefault*      m_stylesheetExecutionContext;
<a name="l01201"></a>01201 
<a name="l01202"></a>01202     <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>*           s_emptyInputSource;
<a name="l01203"></a>01203 
<a name="l01204"></a>01204     <span class="keyword">static</span> <span class="keyword">const</span> XSLTInit*                  s_xsltInit;
<a name="l01205"></a>01205 };
<a name="l01206"></a>01206 
<a name="l01207"></a>01207 
<a name="l01208"></a>01208 
<a name="l01209"></a>01209 XALAN_CPP_NAMESPACE_END
<a name="l01210"></a>01210 
<a name="l01211"></a>01211 
<a name="l01212"></a>01212 
<a name="l01213"></a>01213 <span class="preprocessor">#endif  // XALANTRANSFORMER_HEADER_GUARD</span>
</pre></div></div>
</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>
