<!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>XSLTResultTarget.hpp</h1>  </div>
</div>
<div class="contents">
<a href="XSLTResultTarget_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(XALAN_XSLTRESULTTARGET_HEADER_GUARD)</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define XALAN_XSLTRESULTTARGET_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 &quot;<a class="code" href="XSLTDefinitions_8hpp.html">XSLTDefinitions.hpp</a>&quot;</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;cstdio&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>
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</span>
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 
<a name="l00040"></a>00040 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00041"></a>00041 
<a name="l00042"></a>00042 
<a name="l00043"></a>00043 
<a name="l00044"></a>00044 <span class="keyword">class </span><a class="code" href="classFormatterListener.html" title="A SAX-based formatter interface for the XSL processor.">FormatterListener</a>;
<a name="l00045"></a>00045 <span class="keyword">class </span><a class="code" href="classWriter.html">Writer</a>;
<a name="l00046"></a>00046 
<a name="l00047"></a>00047 
<a name="l00048"></a>00048 
<a name="l00049"></a><a class="code" href="classXSLTResultTarget.html">00049</a> <span class="keyword">class </span><a class="code" href="XSLTDefinitions_8hpp.html#afe13e115e49db23eff1daccf7343935f">XALAN_XSLT_EXPORT</a> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>
<a name="l00050"></a>00050 {
<a name="l00051"></a>00051 <span class="keyword">public</span>:
<a name="l00052"></a>00052 
<a name="l00053"></a>00053 <span class="preprocessor">#if defined(XALAN_NO_STD_NAMESPACE)</span>
<a name="l00054"></a>00054 <span class="preprocessor"></span>    <span class="keyword">typedef</span> ostream         StreamType;
<a name="l00055"></a>00055 <span class="preprocessor">#else</span>
<a name="l00056"></a><a class="code" href="classXSLTResultTarget.html#a703a6bd532c6cbc301822071523849cb">00056</a> <span class="preprocessor"></span>    <span class="keyword">typedef</span> std::ostream    StreamType;
<a name="l00057"></a>00057 <span class="preprocessor">#endif</span>
<a name="l00058"></a>00058 <span class="preprocessor"></span>
<a name="l00059"></a>00059 <span class="preprocessor">#if defined(XALAN_STRICT_ANSI_HEADERS)</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span>    <span class="keyword">typedef</span> std::FILE   FILE;
<a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
<a name="l00062"></a>00062 <span class="preprocessor"></span>
<a name="l00063"></a>00063 
<a name="l00064"></a>00064     <span class="keyword">explicit</span>
<a name="l00065"></a>00065     <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>(MemoryManager&amp; theManager <a class="code" href="XalanMemoryManagement_8hpp.html#a2a8cf2da3c1d1e7206ff99c465810687">XALAN_DEFAULT_CONSTRUCTOR_MEMMGR</a>);
<a name="l00066"></a>00066 <span class="comment"></span>
<a name="l00067"></a>00067 <span class="comment">    /**</span>
<a name="l00068"></a>00068 <span class="comment">     * Create a new output target with a file name.</span>
<a name="l00069"></a>00069 <span class="comment">     *</span>
<a name="l00070"></a>00070 <span class="comment">     * @param fileName valid system file name</span>
<a name="l00071"></a>00071 <span class="comment">     */</span>
<a name="l00072"></a>00072     <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;  fileName,
<a name="l00073"></a>00073                     MemoryManager&amp; theManager <a class="code" href="XalanMemoryManagement_8hpp.html#a2a8cf2da3c1d1e7206ff99c465810687">XALAN_DEFAULT_CONSTRUCTOR_MEMMGR</a>);
<a name="l00074"></a>00074 <span class="comment"></span>
<a name="l00075"></a>00075 <span class="comment">    /**</span>
<a name="l00076"></a>00076 <span class="comment">     * Create a new output target with a file name.</span>
<a name="l00077"></a>00077 <span class="comment">     *</span>
<a name="l00078"></a>00078 <span class="comment">     * @param fileName valid system file name</span>
<a name="l00079"></a>00079 <span class="comment">     */</span>
<a name="l00080"></a>00080     <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>(<span class="keyword">const</span> XalanDOMChar*    fileName,
<a name="l00081"></a>00081                     MemoryManager&amp; theManager <a class="code" href="XalanMemoryManagement_8hpp.html#a2a8cf2da3c1d1e7206ff99c465810687">XALAN_DEFAULT_CONSTRUCTOR_MEMMGR</a>);
<a name="l00082"></a>00082 <span class="comment"></span>
<a name="l00083"></a>00083 <span class="comment">    /**</span>
<a name="l00084"></a>00084 <span class="comment">     * Create a new output target with a file name.</span>
<a name="l00085"></a>00085 <span class="comment">     *</span>
<a name="l00086"></a>00086 <span class="comment">     * @param fileName valid system file name</span>
<a name="l00087"></a>00087 <span class="comment">     */</span>
<a name="l00088"></a>00088     <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>*    fileName,
<a name="l00089"></a>00089                     MemoryManager&amp; theManager <a class="code" href="XalanMemoryManagement_8hpp.html#a2a8cf2da3c1d1e7206ff99c465810687">XALAN_DEFAULT_CONSTRUCTOR_MEMMGR</a>);
<a name="l00090"></a>00090 <span class="comment"></span>
<a name="l00091"></a>00091 <span class="comment">    /**</span>
<a name="l00092"></a>00092 <span class="comment">     * Create a new output target with a stream.</span>
<a name="l00093"></a>00093 <span class="comment">     *</span>
<a name="l00094"></a>00094 <span class="comment">     * @param byteStream a pointer to a std ostream for the output</span>
<a name="l00095"></a>00095 <span class="comment">     */</span>
<a name="l00096"></a>00096     <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>(<a class="code" href="classXSLTResultTarget.html#a703a6bd532c6cbc301822071523849cb">StreamType</a>*    theStream,
<a name="l00097"></a>00097                     MemoryManager&amp; theManager <a class="code" href="XalanMemoryManagement_8hpp.html#a2a8cf2da3c1d1e7206ff99c465810687">XALAN_DEFAULT_CONSTRUCTOR_MEMMGR</a>);
<a name="l00098"></a>00098 <span class="comment"></span>
<a name="l00099"></a>00099 <span class="comment">    /**</span>
<a name="l00100"></a>00100 <span class="comment">     * Create a new output target with a stream.</span>
<a name="l00101"></a>00101 <span class="comment">     *</span>
<a name="l00102"></a>00102 <span class="comment">     * @param byteStream a reference to a std ostream for the output</span>
<a name="l00103"></a>00103 <span class="comment">     */</span>
<a name="l00104"></a>00104     <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>(<a class="code" href="classXSLTResultTarget.html#a703a6bd532c6cbc301822071523849cb">StreamType</a>&amp;    theStream,
<a name="l00105"></a>00105                     MemoryManager&amp; theManager <a class="code" href="XalanMemoryManagement_8hpp.html#a2a8cf2da3c1d1e7206ff99c465810687">XALAN_DEFAULT_CONSTRUCTOR_MEMMGR</a>);
<a name="l00106"></a>00106 <span class="comment"></span>
<a name="l00107"></a>00107 <span class="comment">    /**</span>
<a name="l00108"></a>00108 <span class="comment">     * Create a new output target with a character stream.</span>
<a name="l00109"></a>00109 <span class="comment">     *</span>
<a name="l00110"></a>00110 <span class="comment">     * @param characterStream pointer to character stream where the results</span>
<a name="l00111"></a>00111 <span class="comment">     *                        will be written</span>
<a name="l00112"></a>00112 <span class="comment">     */</span> 
<a name="l00113"></a>00113     <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>(<a class="code" href="classWriter.html">Writer</a>*    characterStream,
<a name="l00114"></a>00114                     MemoryManager&amp; theManager <a class="code" href="XalanMemoryManagement_8hpp.html#a2a8cf2da3c1d1e7206ff99c465810687">XALAN_DEFAULT_CONSTRUCTOR_MEMMGR</a>);
<a name="l00115"></a>00115 <span class="comment"></span>
<a name="l00116"></a>00116 <span class="comment">    /**</span>
<a name="l00117"></a>00117 <span class="comment">     * Create a new output target with a stream.</span>
<a name="l00118"></a>00118 <span class="comment">     *</span>
<a name="l00119"></a>00119 <span class="comment">     * @param characterStream pointer to character stream where the results</span>
<a name="l00120"></a>00120 <span class="comment">     *                        will be written</span>
<a name="l00121"></a>00121 <span class="comment">     */</span> 
<a name="l00122"></a>00122     <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>(FILE*  characterStream,
<a name="l00123"></a>00123                     MemoryManager&amp; theManager <a class="code" href="XalanMemoryManagement_8hpp.html#a2a8cf2da3c1d1e7206ff99c465810687">XALAN_DEFAULT_CONSTRUCTOR_MEMMGR</a>);
<a name="l00124"></a>00124 <span class="comment"></span>
<a name="l00125"></a>00125 <span class="comment">    /**</span>
<a name="l00126"></a>00126 <span class="comment">     * Create a new output target with a FormatterListener.</span>
<a name="l00127"></a>00127 <span class="comment">     *</span>
<a name="l00128"></a>00128 <span class="comment">     * @param flistener A FormatterListener instance for result tree events.</span>
<a name="l00129"></a>00129 <span class="comment">     */</span>
<a name="l00130"></a>00130     <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>(<a class="code" href="classFormatterListener.html" title="A SAX-based formatter interface for the XSL processor.">FormatterListener</a>&amp;     flistener,
<a name="l00131"></a>00131                     MemoryManager&amp; theManager <a class="code" href="XalanMemoryManagement_8hpp.html#a2a8cf2da3c1d1e7206ff99c465810687">XALAN_DEFAULT_CONSTRUCTOR_MEMMGR</a>);
<a name="l00132"></a>00132 
<a name="l00133"></a>00133     <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>(<span class="keyword">const</span> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp; other,
<a name="l00134"></a>00134                     MemoryManager&amp;      theManager <a class="code" href="XalanMemoryManagement_8hpp.html#a2a8cf2da3c1d1e7206ff99c465810687">XALAN_DEFAULT_CONSTRUCTOR_MEMMGR</a>);
<a name="l00135"></a>00135     ~<a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>();
<a name="l00136"></a>00136 <span class="comment"></span>
<a name="l00137"></a>00137 <span class="comment">    /**</span>
<a name="l00138"></a>00138 <span class="comment">     * Set the file name where the results will be written.</span>
<a name="l00139"></a>00139 <span class="comment">     *</span>
<a name="l00140"></a>00140 <span class="comment">     * @param fileName system identifier as a string</span>
<a name="l00141"></a>00141 <span class="comment">     */</span>
<a name="l00142"></a>00142     <span class="keywordtype">void</span>
<a name="l00143"></a><a class="code" href="classXSLTResultTarget.html#a732ef8fd9d5ecb894e99271ede354474">00143</a>     setFileName(<span class="keyword">const</span> <span class="keywordtype">char</span>*     fileName)
<a name="l00144"></a>00144     {
<a name="l00145"></a>00145         <span class="keywordflow">if</span> (fileName == 0)
<a name="l00146"></a>00146         {
<a name="l00147"></a>00147             m_fileName.clear();
<a name="l00148"></a>00148         }
<a name="l00149"></a>00149         <span class="keywordflow">else</span>
<a name="l00150"></a>00150         {
<a name="l00151"></a>00151             m_fileName = fileName;
<a name="l00152"></a>00152         }
<a name="l00153"></a>00153     }
<a name="l00154"></a>00154 <span class="comment"></span>
<a name="l00155"></a>00155 <span class="comment">    /**</span>
<a name="l00156"></a>00156 <span class="comment">     * Set the file name where the results will be written.</span>
<a name="l00157"></a>00157 <span class="comment">     *</span>
<a name="l00158"></a>00158 <span class="comment">     * @param fileName system identifier as a string</span>
<a name="l00159"></a>00159 <span class="comment">     */</span>
<a name="l00160"></a>00160     <span class="keywordtype">void</span>
<a name="l00161"></a><a class="code" href="classXSLTResultTarget.html#ab53762a87ee6345fb90f500a48f73218">00161</a>     setFileName(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   fileName)
<a name="l00162"></a>00162     {
<a name="l00163"></a>00163         m_fileName = fileName;
<a name="l00164"></a>00164     }
<a name="l00165"></a>00165 <span class="comment"></span>
<a name="l00166"></a>00166 <span class="comment">    /**</span>
<a name="l00167"></a>00167 <span class="comment">     * Get the file name where the results will be written to.</span>
<a name="l00168"></a>00168 <span class="comment">     * </span>
<a name="l00169"></a>00169 <span class="comment">     * @return file name string</span>
<a name="l00170"></a>00170 <span class="comment">     */</span>
<a name="l00171"></a>00171     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00172"></a><a class="code" href="classXSLTResultTarget.html#ac6c671d302520693892ed0a040b93be6">00172</a>     getFileName()<span class="keyword"> const</span>
<a name="l00173"></a>00173 <span class="keyword">    </span>{
<a name="l00174"></a>00174         <span class="keywordflow">return</span> m_fileName;
<a name="l00175"></a>00175     }
<a name="l00176"></a>00176 <span class="comment"></span>
<a name="l00177"></a>00177 <span class="comment">    /**</span>
<a name="l00178"></a>00178 <span class="comment">     * Set the byte stream for this output target.</span>
<a name="l00179"></a>00179 <span class="comment">     *</span>
<a name="l00180"></a>00180 <span class="comment">     * @param byteStream pointer to byte stream that will contain the result</span>
<a name="l00181"></a>00181 <span class="comment">     *                   document</span>
<a name="l00182"></a>00182 <span class="comment">     */</span>
<a name="l00183"></a>00183     <span class="keywordtype">void</span>
<a name="l00184"></a><a class="code" href="classXSLTResultTarget.html#ac2504b27840e4d7e37b8f10b1b7142e8">00184</a>     setByteStream(<a class="code" href="classXSLTResultTarget.html#a703a6bd532c6cbc301822071523849cb">StreamType</a>*           byteStream)
<a name="l00185"></a>00185     {
<a name="l00186"></a>00186         m_byteStream = byteStream;
<a name="l00187"></a>00187     }
<a name="l00188"></a>00188 <span class="comment"></span>
<a name="l00189"></a>00189 <span class="comment">    /**</span>
<a name="l00190"></a>00190 <span class="comment">     * Get the byte stream for this output target.</span>
<a name="l00191"></a>00191 <span class="comment">     *</span>
<a name="l00192"></a>00192 <span class="comment">     * @return pointer to byte stream, or null if none was supplied.</span>
<a name="l00193"></a>00193 <span class="comment">     */</span>
<a name="l00194"></a>00194     StreamType*
<a name="l00195"></a><a class="code" href="classXSLTResultTarget.html#aaa947b210447bbfa82c8f040912415d5">00195</a>     getByteStream()<span class="keyword"> const</span>
<a name="l00196"></a>00196 <span class="keyword">    </span>{
<a name="l00197"></a>00197         <span class="keywordflow">return</span> m_byteStream;
<a name="l00198"></a>00198     }
<a name="l00199"></a>00199 <span class="comment"></span>
<a name="l00200"></a>00200 <span class="comment">    /** </span>
<a name="l00201"></a>00201 <span class="comment">     * Set the character encoding, if known.</span>
<a name="l00202"></a>00202 <span class="comment">     *</span>
<a name="l00203"></a>00203 <span class="comment">     * @param encoding new encoding string</span>
<a name="l00204"></a>00204 <span class="comment">     */</span>
<a name="l00205"></a>00205     <span class="keywordtype">void</span>
<a name="l00206"></a><a class="code" href="classXSLTResultTarget.html#a900cbbe313aeac4cb53b558bd0536b35">00206</a>     setEncoding(<span class="keyword">const</span> XalanDOMChar*     encoding)
<a name="l00207"></a>00207     {
<a name="l00208"></a>00208         <span class="keywordflow">if</span> (encoding == 0)
<a name="l00209"></a>00209         {
<a name="l00210"></a>00210             m_encoding.<a class="code" href="classXalanDOMString.html#aafab617353402b9a59d30b49dd689fa3">clear</a>();
<a name="l00211"></a>00211         }
<a name="l00212"></a>00212         <span class="keywordflow">else</span>
<a name="l00213"></a>00213         {
<a name="l00214"></a>00214             m_encoding = encoding;
<a name="l00215"></a>00215         }
<a name="l00216"></a>00216     }
<a name="l00217"></a>00217 <span class="comment"></span>
<a name="l00218"></a>00218 <span class="comment">    /** </span>
<a name="l00219"></a>00219 <span class="comment">     * Set the character encoding, if known.</span>
<a name="l00220"></a>00220 <span class="comment">     *</span>
<a name="l00221"></a>00221 <span class="comment">     * @param encoding new encoding string</span>
<a name="l00222"></a>00222 <span class="comment">     */</span>
<a name="l00223"></a>00223     <span class="keywordtype">void</span>
<a name="l00224"></a><a class="code" href="classXSLTResultTarget.html#abc6d58e6ace28a588ef3daff09471ea9">00224</a>     setEncoding(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   encoding)
<a name="l00225"></a>00225     {
<a name="l00226"></a>00226         m_encoding = encoding;
<a name="l00227"></a>00227     }
<a name="l00228"></a>00228 <span class="comment"></span>
<a name="l00229"></a>00229 <span class="comment">    /**</span>
<a name="l00230"></a>00230 <span class="comment">     * Get the character encoding in use.</span>
<a name="l00231"></a>00231 <span class="comment">     *</span>
<a name="l00232"></a>00232 <span class="comment">     * @return encoding string, or empty string if none was supplied.</span>
<a name="l00233"></a>00233 <span class="comment">     */</span>
<a name="l00234"></a>00234     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00235"></a><a class="code" href="classXSLTResultTarget.html#a8f123aaf73eb16cfd91f12e51db8d707">00235</a>     getEncoding()<span class="keyword"> const</span>
<a name="l00236"></a>00236 <span class="keyword">    </span>{
<a name="l00237"></a>00237         <span class="keywordflow">return</span> m_encoding;
<a name="l00238"></a>00238     }
<a name="l00239"></a>00239 <span class="comment"></span>
<a name="l00240"></a>00240 <span class="comment">    /**</span>
<a name="l00241"></a>00241 <span class="comment">     * Set the character stream for this output target.</span>
<a name="l00242"></a>00242 <span class="comment">     *</span>
<a name="l00243"></a>00243 <span class="comment">     * @param characterStream pointer to character stream that will contain </span>
<a name="l00244"></a>00244 <span class="comment">     *                        the result document</span>
<a name="l00245"></a>00245 <span class="comment">     */</span>
<a name="l00246"></a>00246     <span class="keywordtype">void</span>
<a name="l00247"></a><a class="code" href="classXSLTResultTarget.html#a6870cbca81f15c35fc0d39f585a57bf7">00247</a>     setCharacterStream(<a class="code" href="classWriter.html">Writer</a>*  characterStream)
<a name="l00248"></a>00248     {
<a name="l00249"></a>00249         m_characterStream = characterStream;
<a name="l00250"></a>00250     }
<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">     * Get the character stream for this output target.</span>
<a name="l00254"></a>00254 <span class="comment">     *</span>
<a name="l00255"></a>00255 <span class="comment">     * @return pointer to character stream, or null if none was supplied.</span>
<a name="l00256"></a>00256 <span class="comment">     */</span>
<a name="l00257"></a>00257     <a class="code" href="classWriter.html">Writer</a>*
<a name="l00258"></a><a class="code" href="classXSLTResultTarget.html#af12d69ad6fce9b5564a3eb988ee1cd82">00258</a>     getCharacterStream()<span class="keyword"> const</span>
<a name="l00259"></a>00259 <span class="keyword">    </span>{
<a name="l00260"></a>00260         <span class="keywordflow">return</span> m_characterStream;
<a name="l00261"></a>00261     }
<a name="l00262"></a>00262 <span class="comment"></span>
<a name="l00263"></a>00263 <span class="comment">    /**</span>
<a name="l00264"></a>00264 <span class="comment">     * Get the stream for this output target.</span>
<a name="l00265"></a>00265 <span class="comment">     *</span>
<a name="l00266"></a>00266 <span class="comment">     * @return pointer to stream, or null if none was supplied.</span>
<a name="l00267"></a>00267 <span class="comment">     */</span>
<a name="l00268"></a>00268     FILE*
<a name="l00269"></a><a class="code" href="classXSLTResultTarget.html#a2ad7e5e388217c009a55afa3229c654d">00269</a>     getStream()<span class="keyword"> const</span>
<a name="l00270"></a>00270 <span class="keyword">    </span>{
<a name="l00271"></a>00271         <span class="keywordflow">return</span> m_stream;
<a name="l00272"></a>00272     }
<a name="l00273"></a>00273 <span class="comment"></span>
<a name="l00274"></a>00274 <span class="comment">    /**</span>
<a name="l00275"></a>00275 <span class="comment">     * Set the stream for this output target.</span>
<a name="l00276"></a>00276 <span class="comment">     *</span>
<a name="l00277"></a>00277 <span class="comment">     * @theStream pointer to stream.</span>
<a name="l00278"></a>00278 <span class="comment">     */</span>
<a name="l00279"></a>00279     <span class="keywordtype">void</span>
<a name="l00280"></a><a class="code" href="classXSLTResultTarget.html#a7f12324c40ca09f531dd84ec63eb713d">00280</a>     setStream(FILE*     theStream)
<a name="l00281"></a>00281     {
<a name="l00282"></a>00282         m_stream = theStream;
<a name="l00283"></a>00283     }
<a name="l00284"></a>00284 <span class="comment"></span>
<a name="l00285"></a>00285 <span class="comment">    /**</span>
<a name="l00286"></a>00286 <span class="comment">     * Set a FormatterListener to process the result tree events.</span>
<a name="l00287"></a>00287 <span class="comment">     *</span>
<a name="l00288"></a>00288 <span class="comment">     * @param handler pointer to new listener</span>
<a name="l00289"></a>00289 <span class="comment">     */</span>
<a name="l00290"></a>00290     <span class="keywordtype">void</span>
<a name="l00291"></a><a class="code" href="classXSLTResultTarget.html#a663aec88d063b6e85e221c54e75e1e27">00291</a>     setFormatterListener(<a class="code" href="classFormatterListener.html" title="A SAX-based formatter interface for the XSL processor.">FormatterListener</a>*     handler)
<a name="l00292"></a>00292     {
<a name="l00293"></a>00293         m_formatterListener = handler;
<a name="l00294"></a>00294     }
<a name="l00295"></a>00295 <span class="comment"></span>
<a name="l00296"></a>00296 <span class="comment">    /**</span>
<a name="l00297"></a>00297 <span class="comment">     * Get the FormatterListener that will process the result tree events.</span>
<a name="l00298"></a>00298 <span class="comment">     *</span>
<a name="l00299"></a>00299 <span class="comment">     * @return pointer to new listener</span>
<a name="l00300"></a>00300 <span class="comment">     */</span>
<a name="l00301"></a>00301     <a class="code" href="classFormatterListener.html" title="A SAX-based formatter interface for the XSL processor.">FormatterListener</a>*
<a name="l00302"></a><a class="code" href="classXSLTResultTarget.html#a673bdf9cd93b2520532711b134d4004f">00302</a>     getFormatterListener()<span class="keyword"> const</span>
<a name="l00303"></a>00303 <span class="keyword">    </span>{
<a name="l00304"></a>00304         <span class="keywordflow">return</span> m_formatterListener;
<a name="l00305"></a>00305     }
<a name="l00306"></a>00306 
<a name="l00307"></a>00307 <span class="keyword">private</span>:
<a name="l00308"></a>00308 
<a name="l00309"></a>00309 <span class="preprocessor">#if defined(XALAN_DEVELOPMENT)</span>
<a name="l00310"></a>00310 <span class="preprocessor"></span>    <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>();
<a name="l00311"></a>00311     <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>(<span class="keyword">const</span> <a class="code" href="classXSLTResultTarget.html">XSLTResultTarget</a>&amp;);
<a name="l00312"></a>00312 <span class="preprocessor">#endif</span>
<a name="l00313"></a>00313 <span class="preprocessor"></span>
<a name="l00314"></a>00314     <a class="code" href="classXalanDOMString.html">XalanDOMString</a>          m_fileName;
<a name="l00315"></a>00315 
<a name="l00316"></a>00316     StreamType*             m_byteStream;
<a name="l00317"></a>00317 
<a name="l00318"></a>00318     <a class="code" href="classXalanDOMString.html">XalanDOMString</a>          m_encoding;
<a name="l00319"></a>00319 
<a name="l00320"></a>00320     <a class="code" href="classWriter.html">Writer</a>*                 m_characterStream;
<a name="l00321"></a>00321 
<a name="l00322"></a>00322     <a class="code" href="classFormatterListener.html" title="A SAX-based formatter interface for the XSL processor.">FormatterListener</a>*      m_formatterListener;
<a name="l00323"></a>00323 
<a name="l00324"></a>00324     FILE*                   m_stream;
<a name="l00325"></a>00325 };
<a name="l00326"></a>00326 
<a name="l00327"></a>00327 
<a name="l00328"></a>00328 
<a name="l00329"></a>00329 XALAN_CPP_NAMESPACE_END
<a name="l00330"></a>00330 
<a name="l00331"></a>00331 
<a name="l00332"></a>00332 
<a name="l00333"></a>00333 <span class="preprocessor">#endif  // XALAN_XSLTRESULTTARGET_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>
