<HTML><HEAD><TITLE>Xalan-C++ API Documentation</TITLE></HEAD>
<BODY>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center">The Xalan C++ XSLT Processor Version 1.10</h3>
</BODY>
<!-- Generated by Doxygen 1.2.8.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>XalanSourceTreeWrapperParsedSource  Class Reference</h1>This is designed to allow a XalanTranfomer object to wrap a parsed Xerces document. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="XalanSourceTreeWrapperParsedSource_8hpp-source.html">XalanSourceTreeWrapperParsedSource.hpp</a>&gt;</code>
<p>
Inheritance diagram for XalanSourceTreeWrapperParsedSource:<p><center><img src="classXalanSourceTreeWrapperParsedSource__inherit__graph.gif" border="0" usemap="#XalanSourceTreeWrapperParsedSource_inherit_map" alt="Inheritance graph"></center>
<map name="XalanSourceTreeWrapperParsedSource_inherit_map">
<area href="classXalanParsedSource.html" shape="rect" coords="66,42,200,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for XalanSourceTreeWrapperParsedSource:<p><center><img src="classXalanSourceTreeWrapperParsedSource__coll__graph.gif" border="0" usemap="#XalanSourceTreeWrapperParsedSource_coll_map" alt="Collaboration graph"></center>
<map name="XalanSourceTreeWrapperParsedSource_coll_map">
<area href="classXalanParsedSource.html" shape="rect" coords="389,32,522,8">
<area href="classXalanSourceTreeDOMSupport.html" shape="rect" coords="357,142,554,119">
<area href="classXalanSourceTreeParserLiaison.html" shape="rect" coords="17,109,215,85">
<area href="classXalanDOMString.html" shape="rect" coords="57,229,175,205">
<area href="classXalanSourceTreeDocument.html" shape="rect" coords="367,260,545,236">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classXalanSourceTreeWrapperParsedSource-members.html">List of all members.</a><h2>Public Methods</h2>
<ul>
<li><a class="el" href="classXalanSourceTreeWrapperParsedSource.html#a0">XalanSourceTreeWrapperParsedSource</a> (<a class="el" href="classXalanSourceTreeDocument.html">XalanSourceTreeDocument</a> *theDocument, <a class="el" href="classXalanSourceTreeParserLiaison.html">XalanSourceTreeParserLiaison</a> &amp;theParserLiaison, <a class="el" href="classXalanSourceTreeDOMSupport.html">XalanSourceTreeDOMSupport</a> &amp;theDOMSupport, const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;theURI=<a class="el" href="classXalanDOMString.html">XalanDOMString</a>(XalanMemMgrs::getDummyMemMgr()), <a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp;theManager XALAN_DEFAULT_MEMMGR)
<li>virtual <a class="el" href="classXalanSourceTreeWrapperParsedSource.html#a1">~XalanSourceTreeWrapperParsedSource</a> ()
<li>virtual <a class="el" href="classXalanDocument.html">XalanDocument</a>* <a class="el" href="classXalanSourceTreeWrapperParsedSource.html#a2">getDocument</a> () const
<dl class="el"><dd><font size=-1><em>Get a pointer to the <a class="el" href="classXalanDocument.html">XalanDocument</a> instance for the source document.</em> <a href="#a2">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanParsedSourceHelper.html">XalanParsedSourceHelper</a>* <a class="el" href="classXalanSourceTreeWrapperParsedSource.html#a3">createHelper</a> (<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp;theManager XALAN_DEFAULT_MEMMGR) const
<dl class="el"><dd><font size=-1><em>Create the appropriate <a class="el" href="classXalanParsedSourceHelper.html">XalanParsedSourceHelper</a> instance to use for transforming with the instance.</em> <a href="#a3">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanSourceTreeWrapperParsedSource.html#a4">getURI</a> () const
<dl class="el"><dd><font size=-1><em>Get the URI for the parsed source, if any.</em> <a href="#a4">More...</a><em><br><br></em></font></dl></ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This is designed to allow a XalanTranfomer object to wrap a parsed Xerces document.
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="XalanSourceTreeWrapperParsedSource::XalanSourceTreeWrapperParsedSource"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
XalanSourceTreeWrapperParsedSource::XalanSourceTreeWrapperParsedSource (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanSourceTreeDocument.html">XalanSourceTreeDocument</a> * <em>theDocument</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanSourceTreeParserLiaison.html">XalanSourceTreeParserLiaison</a> &amp; <em>theParserLiaison</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanSourceTreeDOMSupport.html">XalanSourceTreeDOMSupport</a> &amp; <em>theDOMSupport</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>theURI</em> = <a class="el" href="classXalanDOMString.html">XalanDOMString</a>(XalanMemMgrs::getDummyMemMgr()), 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp;theManager <em>XALAN_DEFAULT_MEMMGR</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a1" doxytag="XalanSourceTreeWrapperParsedSource::~XalanSourceTreeWrapperParsedSource"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
XalanSourceTreeWrapperParsedSource::~XalanSourceTreeWrapperParsedSource (
          </b></td>
          <td valign="bottom"><b>
)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a3" doxytag="XalanSourceTreeWrapperParsedSource::createHelper"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXalanParsedSourceHelper.html">XalanParsedSourceHelper</a> * XalanSourceTreeWrapperParsedSource::createHelper (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp; <em>theManager</em>&nbsp;) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Create the appropriate <a class="el" href="classXalanParsedSourceHelper.html">XalanParsedSourceHelper</a> instance to use for transforming with the instance.
<p>
The caller is responsible for deleting the object when finished.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
A pointer to a <a class="el" href="classXalanParsedSourceHelper.html">XalanParsedSourceHelper</a> instance. </dl>
<p>
Reimplemented from <a class="el" href="classXalanParsedSource.html#a3">XalanParsedSource</a>.    </td>
  </tr>
</table>
<a name="a2" doxytag="XalanSourceTreeWrapperParsedSource::getDocument"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXalanDocument.html">XalanDocument</a> * XalanSourceTreeWrapperParsedSource::getDocument (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get a pointer to the <a class="el" href="classXalanDocument.html">XalanDocument</a> instance for the source document.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
A pointer to a <a class="el" href="classXalanDocument.html">XalanDocument</a> instance. </dl>
<p>
Reimplemented from <a class="el" href="classXalanParsedSource.html#a2">XalanParsedSource</a>.    </td>
  </tr>
</table>
<a name="a4" doxytag="XalanSourceTreeWrapperParsedSource::getURI"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; XalanSourceTreeWrapperParsedSource::getURI (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the URI for the parsed source, if any.
<p>
use for transforming with the instance.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
A const reference to a string containing the URI </dl>
<p>
Reimplemented from <a class="el" href="classXalanParsedSource.html#a4">XalanParsedSource</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XalanSourceTreeWrapperParsedSource_8hpp-source.html">XalanSourceTreeWrapperParsedSource.hpp</a></ul>
<p align="center"><a href="diagramnotes.html">Interpreting class diagrams</a></p>
<p><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><A href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</A> and 
<A href="http://www.research.att.com/sw/tools/graphviz/">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="820"><TR><TD bgcolor="#0086b2"><IMG height="1" src="../resources/dot.gif" width="1" alt="dot"></TD></TR></TABLE>
<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.10</B><BR>
			Copyright &copy; 1999-2004 The Apache Software Foundation. All Rights Reserved.</i></p>
		</TD>
	</TR>
	<TR>
		<TD WIDTH="100%">
			<P ALIGN="CENTER"><IMG SRC="ApacheLogo.jpg" WIDTH="387" HEIGHT="100" ALIGN="BOTTOM" BORDER="0" ALT="Apache Logo">
		</TD>
	</TR>
</TABLE>
