<!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>XSLTInputSource.hpp</h1>  </div>
</div>
<div class="contents">
<a href="XSLTInputSource_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_XSLTINPUTSOURCE_HEADER_GUARD)</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define XALAN_XSLTINPUTSOURCE_HEADER_GUARD</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span>
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 
<a name="l00024"></a>00024 <span class="comment">// Base include file.  Must be first.</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &quot;<a class="code" href="XSLTDefinitions_8hpp.html">XSLTDefinitions.hpp</a>&quot;</span>
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 
<a name="l00029"></a>00029 <span class="preprocessor">#if defined(XALAN_CLASSIC_IOSTREAMS)</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream.h&gt;</span>
<a name="l00031"></a>00031 <span class="preprocessor">#else</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iosfwd&gt;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#endif</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span>
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 
<a name="l00037"></a>00037 <span class="preprocessor">#include &quot;xercesc/sax/InputSource.hpp&quot;</span>
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 
<a name="l00040"></a>00040 
<a name="l00041"></a>00041 <span class="preprocessor">#include &quot;<a class="code" href="XalanMemoryManagement_8hpp.html">xalanc/Include/XalanMemoryManagement.hpp</a>&quot;</span>
<a name="l00042"></a>00042 
<a name="l00043"></a>00043 
<a name="l00044"></a>00044 
<a name="l00045"></a>00045 XALAN_DECLARE_XERCES_CLASS(Locator)
<a name="l00046"></a>00046 
<a name="l00047"></a>00047 
<a name="l00048"></a>00048 
<a name="l00049"></a>00049 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00050"></a>00050 
<a name="l00051"></a>00051 
<a name="l00052"></a>00052 
<a name="l00053"></a><a class="code" href="XSLTInputSource_8hpp.html#a075274d5195ee9ac87167c38af39f3ca">00053</a> typedef XERCES_CPP_NAMESPACE_QUALIFIER BinInputStream   <a class="code" href="XSLTInputSource_8hpp.html#a075274d5195ee9ac87167c38af39f3ca">BinInputStreamType</a>;
<a name="l00054"></a><a class="code" href="XSLTInputSource_8hpp.html#a82c1777ce952cba839ddfc8c02f6a3c8">00054</a> typedef XERCES_CPP_NAMESPACE_QUALIFIER InputSource      <a class="code" href="XSLTInputSource_8hpp.html#a82c1777ce952cba839ddfc8c02f6a3c8">InputSourceType</a>;
<a name="l00055"></a>00055 <a class="code" href="XSLTProcessor_8hpp.html#a24af2755e58bade5ff0d5965b855e56a">XALAN_USING_XERCES</a>(MemoryManager)
<a name="l00056"></a>00056 
<a name="l00057"></a>00057 
<a name="l00058"></a>00058 class <a class="code" href="classXalanDOMString.html">XalanDOMString</a>;
<a name="l00059"></a>00059 class <a class="code" href="classXalanNode.html">XalanNode</a>;
<a name="l00060"></a>00060 
<a name="l00061"></a>00061 
<a name="l00062"></a>00062 
<a name="l00063"></a><a class="code" href="classXSLTInputSource.html">00063</a> class <a class="code" href="XSLTDefinitions_8hpp.html#afe13e115e49db23eff1daccf7343935f">XALAN_XSLT_EXPORT</a> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a> : public InputSourceType
<a name="l00064"></a>00064 {
<a name="l00065"></a>00065 <span class="keyword">public</span>:
<a name="l00066"></a>00066 
<a name="l00067"></a>00067 <span class="preprocessor">#if defined(XALAN_NO_STD_NAMESPACE)</span>
<a name="l00068"></a>00068 <span class="preprocessor"></span>    <span class="keyword">typedef</span> istream         StreamType;
<a name="l00069"></a>00069 <span class="preprocessor">#else</span>
<a name="l00070"></a><a class="code" href="classXSLTInputSource.html#a8ff8e80a542152925189fd3411241f01">00070</a> <span class="preprocessor"></span>    <span class="keyword">typedef</span> std::istream    StreamType;
<a name="l00071"></a>00071 <span class="preprocessor">#endif</span>
<a name="l00072"></a>00072 <span class="preprocessor"></span>
<a name="l00073"></a>00073     <span class="keyword">explicit</span>
<a name="l00074"></a>00074     <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>(MemoryManager&amp;  theMemoryManager = <a class="code" href="classXalanMemMgrs.html#a0c9ffb7f2cae5c30e73cdd6505cc47c2">XalanMemMgrs::getDefault</a>());
<a name="l00075"></a>00075 <span class="comment"></span>
<a name="l00076"></a>00076 <span class="comment">    /**</span>
<a name="l00077"></a>00077 <span class="comment">     * Copy constructor.</span>
<a name="l00078"></a>00078 <span class="comment">     */</span>
<a name="l00079"></a>00079     <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>(
<a name="l00080"></a>00080             <span class="keyword">const</span> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp;  theSource,
<a name="l00081"></a>00081             MemoryManager&amp;          theMemoryManager = <a class="code" href="classXalanMemMgrs.html#a0c9ffb7f2cae5c30e73cdd6505cc47c2">XalanMemMgrs::getDefault</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">     * Assignment operator.</span>
<a name="l00085"></a>00085 <span class="comment">     */</span>
<a name="l00086"></a>00086     <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp;
<a name="l00087"></a>00087     operator=(<span class="keyword">const</span> <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>&amp;    theRHS);
<a name="l00088"></a>00088 <span class="comment"></span>
<a name="l00089"></a>00089 <span class="comment">    /**</span>
<a name="l00090"></a>00090 <span class="comment">     * Create a new input source with a system identifier.</span>
<a name="l00091"></a>00091 <span class="comment">     *</span>
<a name="l00092"></a>00092 <span class="comment">     * &lt;p&gt;Applications may use setPublicId to include a public identifier as</span>
<a name="l00093"></a>00093 <span class="comment">     * well, or setEncoding to specify the character encoding, if known.&lt;/p&gt;</span>
<a name="l00094"></a>00094 <span class="comment">     *</span>
<a name="l00095"></a>00095 <span class="comment">     * &lt;p&gt;If the system identifier is a URL, it must be full resolved.&lt;/p&gt;</span>
<a name="l00096"></a>00096 <span class="comment">     *</span>
<a name="l00097"></a>00097 <span class="comment">     * @param systemId  system identifier (URI)</span>
<a name="l00098"></a>00098 <span class="comment">     * @param theMemoryManager  The MemoryManager instance to use.</span>
<a name="l00099"></a>00099 <span class="comment">     */</span>
<a name="l00100"></a>00100     <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>(
<a name="l00101"></a>00101             <span class="keyword">const</span> XMLCh*    systemId,
<a name="l00102"></a>00102             MemoryManager&amp;  theMemoryManager = <a class="code" href="classXalanMemMgrs.html#a0c9ffb7f2cae5c30e73cdd6505cc47c2">XalanMemMgrs::getDefault</a>());
<a name="l00103"></a>00103 <span class="comment"></span>
<a name="l00104"></a>00104 <span class="comment">    /**</span>
<a name="l00105"></a>00105 <span class="comment">     * Create a new input source with a system identifier.</span>
<a name="l00106"></a>00106 <span class="comment">     *</span>
<a name="l00107"></a>00107 <span class="comment">     * &lt;p&gt;Applications may use setPublicId to include a public identifier as</span>
<a name="l00108"></a>00108 <span class="comment">     * well, or setEncoding to specify the character encoding, if known.&lt;/p&gt;</span>
<a name="l00109"></a>00109 <span class="comment">     *</span>
<a name="l00110"></a>00110 <span class="comment">     * &lt;p&gt;If the system identifier is a URL, it must be full resolved.&lt;/p&gt;</span>
<a name="l00111"></a>00111 <span class="comment">     *</span>
<a name="l00112"></a>00112 <span class="comment">     * @param systemId  system identifier (URI)</span>
<a name="l00113"></a>00113 <span class="comment">     * @param theMemoryManager  The MemoryManager instance to use.</span>
<a name="l00114"></a>00114 <span class="comment">     */</span>
<a name="l00115"></a>00115     <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>(
<a name="l00116"></a>00116             <span class="keyword">const</span> XalanDOMString&amp;   systemId,
<a name="l00117"></a>00117             MemoryManager&amp;          theMemoryManager = <a class="code" href="classXalanMemMgrs.html#a0c9ffb7f2cae5c30e73cdd6505cc47c2">XalanMemMgrs::getDefault</a>());
<a name="l00118"></a>00118 <span class="comment"></span>
<a name="l00119"></a>00119 <span class="comment">    /**</span>
<a name="l00120"></a>00120 <span class="comment">     * Create a new input source with a system identifier.</span>
<a name="l00121"></a>00121 <span class="comment">     *</span>
<a name="l00122"></a>00122 <span class="comment">     * &lt;p&gt;Applications may use setPublicId to include a public identifier as</span>
<a name="l00123"></a>00123 <span class="comment">     * well, or setEncoding to specify the character encoding, if known.&lt;/p&gt;</span>
<a name="l00124"></a>00124 <span class="comment">     *</span>
<a name="l00125"></a>00125 <span class="comment">     * &lt;p&gt;If the system identifier is a URL, it must be full resolved.&lt;/p&gt;</span>
<a name="l00126"></a>00126 <span class="comment">     *</span>
<a name="l00127"></a>00127 <span class="comment">     * @param systemId  system identifier (URI)</span>
<a name="l00128"></a>00128 <span class="comment">     * @param theMemoryManager  The MemoryManager instance to use.</span>
<a name="l00129"></a>00129 <span class="comment">     */</span>
<a name="l00130"></a>00130     <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>(
<a name="l00131"></a>00131             <span class="keyword">const</span> <span class="keywordtype">char</span>*     systemId,
<a name="l00132"></a>00132             MemoryManager&amp;  theMemoryManager = <a class="code" href="classXalanMemMgrs.html#a0c9ffb7f2cae5c30e73cdd6505cc47c2">XalanMemMgrs::getDefault</a>());
<a name="l00133"></a>00133 <span class="comment"></span>
<a name="l00134"></a>00134 <span class="comment">    /**</span>
<a name="l00135"></a>00135 <span class="comment">     * Create a new input source with a system identifier and a public</span>
<a name="l00136"></a>00136 <span class="comment">     * identifier.</span>
<a name="l00137"></a>00137 <span class="comment">     *</span>
<a name="l00138"></a>00138 <span class="comment">     * &lt;p&gt;If the system identifier is a URL, it must be full resolved.&lt;/p&gt;</span>
<a name="l00139"></a>00139 <span class="comment">     *</span>
<a name="l00140"></a>00140 <span class="comment">     * @param systemId system identifier (URI)</span>
<a name="l00141"></a>00141 <span class="comment">     * @param publicId public identifier</span>
<a name="l00142"></a>00142 <span class="comment">     * @param theMemoryManager  The MemoryManager instance to use.</span>
<a name="l00143"></a>00143 <span class="comment">     */</span>
<a name="l00144"></a>00144     <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>(
<a name="l00145"></a>00145             <span class="keyword">const</span> <span class="keywordtype">char</span>*     systemId,
<a name="l00146"></a>00146             <span class="keyword">const</span> <span class="keywordtype">char</span>*     publicId,
<a name="l00147"></a>00147             MemoryManager&amp;  theMemoryManager = <a class="code" href="classXalanMemMgrs.html#a0c9ffb7f2cae5c30e73cdd6505cc47c2">XalanMemMgrs::getDefault</a>());
<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="comment">     * Create a new input source with a system identifier and a public</span>
<a name="l00151"></a>00151 <span class="comment">     * identifier.</span>
<a name="l00152"></a>00152 <span class="comment">     *</span>
<a name="l00153"></a>00153 <span class="comment">     * &lt;p&gt;If the system identifier is a URL, it must be full resolved.&lt;/p&gt;</span>
<a name="l00154"></a>00154 <span class="comment">     *</span>
<a name="l00155"></a>00155 <span class="comment">     * @param systemId system identifier (URI)</span>
<a name="l00156"></a>00156 <span class="comment">     * @param publicId public identifier</span>
<a name="l00157"></a>00157 <span class="comment">     * @param theMemoryManager  The MemoryManager instance to use.</span>
<a name="l00158"></a>00158 <span class="comment">     */</span>
<a name="l00159"></a>00159     <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>(
<a name="l00160"></a>00160             <span class="keyword">const</span> XMLCh*    systemId,
<a name="l00161"></a>00161             <span class="keyword">const</span> XMLCh*    publicId,
<a name="l00162"></a>00162             MemoryManager&amp;  theMemoryManager = <a class="code" href="classXalanMemMgrs.html#a0c9ffb7f2cae5c30e73cdd6505cc47c2">XalanMemMgrs::getDefault</a>());
<a name="l00163"></a>00163 <span class="comment"></span>
<a name="l00164"></a>00164 <span class="comment">    /**</span>
<a name="l00165"></a>00165 <span class="comment">     * Create a new input source with a system identifier and a public</span>
<a name="l00166"></a>00166 <span class="comment">     * identifier.</span>
<a name="l00167"></a>00167 <span class="comment">     *</span>
<a name="l00168"></a>00168 <span class="comment">     * &lt;p&gt;If the system identifier is a URL, it must be full resolved.&lt;/p&gt;</span>
<a name="l00169"></a>00169 <span class="comment">     *</span>
<a name="l00170"></a>00170 <span class="comment">     * @param systemId system identifier (URI)</span>
<a name="l00171"></a>00171 <span class="comment">     * @param publicId public identifier</span>
<a name="l00172"></a>00172 <span class="comment">     * @param theMemoryManager  The MemoryManager instance to use.</span>
<a name="l00173"></a>00173 <span class="comment">     */</span>
<a name="l00174"></a>00174     <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>(
<a name="l00175"></a>00175             <span class="keyword">const</span> XalanDOMString&amp;   systemId,
<a name="l00176"></a>00176             <span class="keyword">const</span> XalanDOMString&amp;   publicId,
<a name="l00177"></a>00177             MemoryManager&amp;          theMemoryManager = <a class="code" href="classXalanMemMgrs.html#a0c9ffb7f2cae5c30e73cdd6505cc47c2">XalanMemMgrs::getDefault</a>());
<a name="l00178"></a>00178 <span class="comment"></span>
<a name="l00179"></a>00179 <span class="comment">    /**</span>
<a name="l00180"></a>00180 <span class="comment">     * Create a new input source with a DOM node.</span>
<a name="l00181"></a>00181 <span class="comment">     *</span>
<a name="l00182"></a>00182 <span class="comment">     * &lt;p&gt;Application writers may use setSystemId() to provide a base for</span>
<a name="l00183"></a>00183 <span class="comment">     * resolving relative URIs, and setPublicId to include a public</span>
<a name="l00184"></a>00184 <span class="comment">     * identifier.&lt;/p&gt;</span>
<a name="l00185"></a>00185 <span class="comment">     *</span>
<a name="l00186"></a>00186 <span class="comment">     * @param node DOM node that is root of the document</span>
<a name="l00187"></a>00187 <span class="comment">     * @param theMemoryManager  The MemoryManager instance to use.</span>
<a name="l00188"></a>00188 <span class="comment">     */</span>
<a name="l00189"></a>00189     <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>(
<a name="l00190"></a>00190             XalanNode*      node,
<a name="l00191"></a>00191             MemoryManager&amp;  theMemoryManager = <a class="code" href="classXalanMemMgrs.html#a0c9ffb7f2cae5c30e73cdd6505cc47c2">XalanMemMgrs::getDefault</a>());
<a name="l00192"></a>00192 <span class="comment"></span>
<a name="l00193"></a>00193 <span class="comment">    /**</span>
<a name="l00194"></a>00194 <span class="comment">     * Create a new input source with std stream.</span>
<a name="l00195"></a>00195 <span class="comment">     *</span>
<a name="l00196"></a>00196 <span class="comment">     * &lt;p&gt;Application writers may use setSystemId() to provide a base for</span>
<a name="l00197"></a>00197 <span class="comment">     * resolving relative URIs, and setPublicId to include a public</span>
<a name="l00198"></a>00198 <span class="comment">     * identifier.&lt;/p&gt;</span>
<a name="l00199"></a>00199 <span class="comment">     *</span>
<a name="l00200"></a>00200 <span class="comment">     * @param stream the input stream...</span>
<a name="l00201"></a>00201 <span class="comment">     * @param theMemoryManager  The MemoryManager instance to use.</span>
<a name="l00202"></a>00202 <span class="comment">     */</span>
<a name="l00203"></a>00203     <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>(
<a name="l00204"></a>00204             StreamType*     stream,
<a name="l00205"></a>00205             MemoryManager&amp;  theMemoryManager = <a class="code" href="classXalanMemMgrs.html#a0c9ffb7f2cae5c30e73cdd6505cc47c2">XalanMemMgrs::getDefault</a>());
<a name="l00206"></a>00206 <span class="comment"></span>
<a name="l00207"></a>00207 <span class="comment">    /**</span>
<a name="l00208"></a>00208 <span class="comment">     * Create a new input source with std stream.</span>
<a name="l00209"></a>00209 <span class="comment">     *</span>
<a name="l00210"></a>00210 <span class="comment">     * &lt;p&gt;Application writers may use setSystemId() to provide a base for</span>
<a name="l00211"></a>00211 <span class="comment">     * resolving relative URIs, and setPublicId to include a public</span>
<a name="l00212"></a>00212 <span class="comment">     * identifier.&lt;/p&gt;</span>
<a name="l00213"></a>00213 <span class="comment">     *</span>
<a name="l00214"></a>00214 <span class="comment">     * @param stream the input stream...</span>
<a name="l00215"></a>00215 <span class="comment">     * @param theMemoryManager  The MemoryManager instance to use.</span>
<a name="l00216"></a>00216 <span class="comment">     */</span>
<a name="l00217"></a>00217     <a class="code" href="classXSLTInputSource.html">XSLTInputSource</a>(
<a name="l00218"></a>00218             StreamType&amp;     stream,
<a name="l00219"></a>00219             MemoryManager&amp;  theMemoryManager = <a class="code" href="classXalanMemMgrs.html#a0c9ffb7f2cae5c30e73cdd6505cc47c2">XalanMemMgrs::getDefault</a>());
<a name="l00220"></a>00220 <span class="comment"></span>
<a name="l00221"></a>00221 <span class="comment">    /**</span>
<a name="l00222"></a>00222 <span class="comment">     * Makes the byte stream for this input source.</span>
<a name="l00223"></a>00223 <span class="comment">     *</span>
<a name="l00224"></a>00224 <span class="comment">     * &lt;p&gt;The SAX parser will ignore this if there is also a character</span>
<a name="l00225"></a>00225 <span class="comment">     * stream specified, but it will use a byte stream in preference</span>
<a name="l00226"></a>00226 <span class="comment">     * to opening a URI connection itself.&lt;/p&gt;</span>
<a name="l00227"></a>00227 <span class="comment">     *</span>
<a name="l00228"></a>00228 <span class="comment">     *</span>
<a name="l00229"></a>00229 <span class="comment">     * @return pointer to byte stream created</span>
<a name="l00230"></a>00230 <span class="comment">     */</span>
<a name="l00231"></a>00231     <span class="keyword">virtual</span> BinInputStreamType*
<a name="l00232"></a>00232     makeStream() <span class="keyword">const</span>;
<a name="l00233"></a>00233 <span class="comment"></span>
<a name="l00234"></a>00234 <span class="comment">    /**</span>
<a name="l00235"></a>00235 <span class="comment">     * Set the DOM node for this input source.</span>
<a name="l00236"></a>00236 <span class="comment">     *</span>
<a name="l00237"></a>00237 <span class="comment">     * @param node DOM node that is root of the document</span>
<a name="l00238"></a>00238 <span class="comment">     */</span>
<a name="l00239"></a>00239     <span class="keywordtype">void</span>
<a name="l00240"></a><a class="code" href="classXSLTInputSource.html#a1a8fd1e83f74c2efe88f434f4e9fe0d4">00240</a>     setNode(XalanNode*  node)
<a name="l00241"></a>00241     {
<a name="l00242"></a>00242         m_node = node;
<a name="l00243"></a>00243     }
<a name="l00244"></a>00244 <span class="comment"></span>
<a name="l00245"></a>00245 <span class="comment">    /**</span>
<a name="l00246"></a>00246 <span class="comment">     * Retrieve the DOM node for this input source.</span>
<a name="l00247"></a>00247 <span class="comment">     *</span>
<a name="l00248"></a>00248 <span class="comment">     * @return DOM node that is root of the document</span>
<a name="l00249"></a>00249 <span class="comment">     */</span>
<a name="l00250"></a>00250     XalanNode*
<a name="l00251"></a><a class="code" href="classXSLTInputSource.html#a729dd6cbfefb35db0382b548a0975140">00251</a>     getNode()<span class="keyword"> const</span>
<a name="l00252"></a>00252 <span class="keyword">    </span>{
<a name="l00253"></a>00253         <span class="keywordflow">return</span> m_node;
<a name="l00254"></a>00254     }
<a name="l00255"></a>00255 
<a name="l00256"></a>00256     StreamType*
<a name="l00257"></a><a class="code" href="classXSLTInputSource.html#a05b96ed728af67ab8c86cf4630bf2c43">00257</a>     getStream()<span class="keyword"> const</span>
<a name="l00258"></a>00258 <span class="keyword">    </span>{
<a name="l00259"></a>00259         <span class="keywordflow">return</span> m_stream;
<a name="l00260"></a>00260     }
<a name="l00261"></a>00261 
<a name="l00262"></a>00262     <span class="keywordtype">void</span>
<a name="l00263"></a><a class="code" href="classXSLTInputSource.html#aceb48a8732b5729dbf5a9cb254b8e8f6">00263</a>     setStream(StreamType*   stream)
<a name="l00264"></a>00264     {
<a name="l00265"></a>00265         m_stream = stream;
<a name="l00266"></a>00266     }
<a name="l00267"></a>00267 
<a name="l00268"></a>00268 <span class="keyword">private</span>:
<a name="l00269"></a>00269 
<a name="l00270"></a>00270     StreamType*     m_stream;
<a name="l00271"></a>00271 
<a name="l00272"></a>00272     XalanNode*      m_node;
<a name="l00273"></a>00273 };
<a name="l00274"></a>00274 
<a name="l00275"></a>00275 
<a name="l00276"></a>00276 
<a name="l00277"></a>00277 XALAN_CPP_NAMESPACE_END
<a name="l00278"></a>00278 
<a name="l00279"></a>00279 
<a name="l00280"></a>00280 
<a name="l00281"></a>00281 <span class="preprocessor">#endif  // XALAN_XSLTINPUTSOURCE_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>
