<!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>XalanParsedSource.hpp</h1>  </div>
</div>
<div class="contents">
<a href="XalanParsedSource_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 <span class="preprocessor">#if !defined(XALANPARSEDSOURCE_HEADER_GUARD)</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define XALANPARSEDSOURCE_HEADER_GUARD</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 <span class="comment">// Base include file.  Must be first.</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="XalanTransformerDefinitions_8hpp.html">xalanc/XalanTransformer/XalanTransformerDefinitions.hpp</a>&gt;</span>
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="XalanMemoryManagement_8hpp.html">xalanc/Include/XalanMemoryManagement.hpp</a>&gt;</span>
<a name="l00028"></a>00028 
<a name="l00029"></a>00029 
<a name="l00030"></a>00030 <span class="comment">// We&#39;re bringing in XalanDocument so that its derivation from XalanNode</span>
<a name="l00031"></a>00031 <span class="comment">// is known...</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;<a class="code" href="XalanDocument_8hpp.html">xalanc/XalanDOM/XalanDocument.hpp</a>&gt;</span>
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 
<a name="l00040"></a>00040 <span class="keyword">class </span><a class="code" href="classDOMSupport.html">DOMSupport</a>;
<a name="l00041"></a>00041 <span class="keyword">class </span><a class="code" href="classXMLParserLiaison.html">XMLParserLiaison</a>;
<a name="l00042"></a>00042 
<a name="l00043"></a>00043 
<a name="l00044"></a>00044 
<a name="l00045"></a><a class="code" href="classXalanParsedSourceHelper.html">00045</a> <span class="keyword">class </span><a class="code" href="XalanTransformerDefinitions_8hpp.html#abb0a9d8e3ccf047d7e075c163038ee8d">XALAN_TRANSFORMER_EXPORT</a> <a class="code" href="classXalanParsedSourceHelper.html">XalanParsedSourceHelper</a>
<a name="l00046"></a>00046 {
<a name="l00047"></a>00047 <span class="keyword">public</span>:
<a name="l00048"></a>00048 
<a name="l00049"></a>00049     <span class="keyword">virtual</span>
<a name="l00050"></a><a class="code" href="classXalanParsedSourceHelper.html#aa180a4191e887cbcaa98616326bf0751">00050</a>     ~<a class="code" href="classXalanParsedSourceHelper.html">XalanParsedSourceHelper</a>()
<a name="l00051"></a>00051     {
<a name="l00052"></a>00052     }
<a name="l00053"></a>00053 <span class="comment"></span>
<a name="l00054"></a>00054 <span class="comment">    /**</span>
<a name="l00055"></a>00055 <span class="comment">     * Get the DOMSupport instance.</span>
<a name="l00056"></a>00056 <span class="comment">     *</span>
<a name="l00057"></a>00057 <span class="comment">     * @return A reference to a DOMSupport instance.</span>
<a name="l00058"></a>00058 <span class="comment">     */</span>
<a name="l00059"></a>00059     <span class="keyword">virtual</span> <a class="code" href="classDOMSupport.html">DOMSupport</a>&amp;
<a name="l00060"></a>00060     getDOMSupport() = 0;
<a name="l00061"></a>00061 <span class="comment"></span>
<a name="l00062"></a>00062 <span class="comment">    /**</span>
<a name="l00063"></a>00063 <span class="comment">     * Get the XMLParserLiaison instance.</span>
<a name="l00064"></a>00064 <span class="comment">     *</span>
<a name="l00065"></a>00065 <span class="comment">     * @return A rerefernce to an XMLParserLiaison instance.</span>
<a name="l00066"></a>00066 <span class="comment">     */</span>
<a name="l00067"></a>00067     <span class="keyword">virtual</span> <a class="code" href="classXMLParserLiaison.html">XMLParserLiaison</a>&amp;
<a name="l00068"></a>00068     getParserLiaison() = 0;
<a name="l00069"></a>00069 };
<a name="l00070"></a>00070 
<a name="l00071"></a>00071 
<a name="l00072"></a>00072 <span class="comment"></span>
<a name="l00073"></a>00073 <span class="comment">/**</span>
<a name="l00074"></a>00074 <span class="comment"> * This is abstract base class designed to allow a XalanTranfomer </span>
<a name="l00075"></a>00075 <span class="comment"> * object to reuse a parsed document. </span>
<a name="l00076"></a>00076 <span class="comment"> */</span>
<a name="l00077"></a><a class="code" href="classXalanParsedSource.html">00077</a> <span class="keyword">class </span><a class="code" href="XalanTransformerDefinitions_8hpp.html#abb0a9d8e3ccf047d7e075c163038ee8d">XALAN_TRANSFORMER_EXPORT</a> <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="l00078"></a>00078 {
<a name="l00079"></a>00079 <span class="keyword">public</span>:
<a name="l00080"></a>00080 
<a name="l00081"></a>00081     <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="l00082"></a>00082 
<a name="l00083"></a>00083     <span class="keyword">virtual</span>
<a name="l00084"></a>00084     ~<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="l00085"></a>00085 <span class="comment"></span>
<a name="l00086"></a>00086 <span class="comment">    /**</span>
<a name="l00087"></a>00087 <span class="comment">     * Get a pointer to the XalanDocument instance for the source</span>
<a name="l00088"></a>00088 <span class="comment">     * document</span>
<a name="l00089"></a>00089 <span class="comment">     *</span>
<a name="l00090"></a>00090 <span class="comment">     * @return A pointer to a XalanDocument instance.</span>
<a name="l00091"></a>00091 <span class="comment">     */</span>
<a name="l00092"></a>00092     <span class="keyword">virtual</span> <a class="code" href="classXalanDocument.html">XalanDocument</a>*
<a name="l00093"></a>00093     getDocument() <span class="keyword">const</span> = 0;
<a name="l00094"></a>00094 <span class="comment"></span>
<a name="l00095"></a>00095 <span class="comment">    /**</span>
<a name="l00096"></a>00096 <span class="comment">     * Create the appropriate XalanParsedSourceHelper instance to</span>
<a name="l00097"></a>00097 <span class="comment">     * use for transforming with the instance.</span>
<a name="l00098"></a>00098 <span class="comment">     *</span>
<a name="l00099"></a>00099 <span class="comment">     * The caller is responsible for deleting the object when finished.</span>
<a name="l00100"></a>00100 <span class="comment">     *</span>
<a name="l00101"></a>00101 <span class="comment">     * @return A pointer to a XalanParsedSourceHelper instance.</span>
<a name="l00102"></a>00102 <span class="comment">     */</span>
<a name="l00103"></a>00103     <span class="keyword">virtual</span> <a class="code" href="classXalanParsedSourceHelper.html">XalanParsedSourceHelper</a>*
<a name="l00104"></a>00104     createHelper(MemoryManager&amp;     theManager) <span class="keyword">const</span> = 0;
<a name="l00105"></a>00105 <span class="comment"></span>
<a name="l00106"></a>00106 <span class="comment">    /**</span>
<a name="l00107"></a>00107 <span class="comment">     * Get the URI for the parsed source, if any.</span>
<a name="l00108"></a>00108 <span class="comment">     * use for transforming with the instance.</span>
<a name="l00109"></a>00109 <span class="comment">     *</span>
<a name="l00110"></a>00110 <span class="comment">     * @return A const reference to a string containing the URI</span>
<a name="l00111"></a>00111 <span class="comment">     */</span>
<a name="l00112"></a>00112     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00113"></a>00113     getURI() <span class="keyword">const</span> = 0;
<a name="l00114"></a>00114 };
<a name="l00115"></a>00115 
<a name="l00116"></a>00116 
<a name="l00117"></a>00117 
<a name="l00118"></a>00118 XALAN_CPP_NAMESPACE_END
<a name="l00119"></a>00119 
<a name="l00120"></a>00120 
<a name="l00121"></a>00121 
<a name="l00122"></a>00122 <span class="preprocessor">#endif  // XALANPARSEDSOURCE_HEADER_GUARD</span>
<a name="l00123"></a>00123 <span class="preprocessor"></span>
<a name="l00124"></a>00124 
<a name="l00125"></a>00125 
</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>
