<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>FunctionEvaluate  Class Reference</h1><a class="el" href="classXPath.html">XPath</a> implementation of "node-set" function. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="FunctionEvaluate_8hpp-source.html">FunctionEvaluate.hpp</a>&gt;</code>
<p>
Inheritance diagram for FunctionEvaluate:<p><center><img src="classFunctionEvaluate__inherit__graph.gif" border="0" usemap="#FunctionEvaluate_inherit_map" alt="Inheritance graph"></center>
<map name="FunctionEvaluate_inherit_map">
<area href="classXalanEXSLTFunctionEvaluate.html" shape="rect" coords="6,192,196,168">
<area href="classFunction.html" shape="rect" coords="68,42,134,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for FunctionEvaluate:<p><center><img src="classFunctionEvaluate__coll__graph.gif" border="0" usemap="#FunctionEvaluate_coll_map" alt="Collaboration graph"></center>
<map name="FunctionEvaluate_coll_map">
<area href="classFunction.html" shape="rect" coords="30,42,97,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classFunctionEvaluate-members.html">List of all members.</a><h2>Public Types</h2>
<ul>
<li>typedef <a class="el" href="classFunction.html">Function</a> <a class="el" href="classFunctionEvaluate.html#s0">ParentType</a>
</ul>
<h2>Public Methods</h2>
<ul>
<li><a class="el" href="classFunctionEvaluate.html#a0">FunctionEvaluate</a> ()
<li>virtual <a class="el" href="classFunctionEvaluate.html#a1">~FunctionEvaluate</a> ()
<li>virtual <a class="el" href="classXObjectPtr.html">XObjectPtr</a> <a class="el" href="classFunctionEvaluate.html#a2">execute</a> (<a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;executionContext, <a class="el" href="classXalanNode.html">XalanNode</a> *context, const <a class="el" href="classFunction.html#s1">XObjectArgVectorType</a> &amp;args, const <a class="el" href="classFunction.html#s0">LocatorType</a> *locator) const
<dl class="el"><dd><font size=-1><em>Execute an <a class="el" href="classXPath.html">XPath</a> function object.</em> <a href="#a2">More...</a><em><br><br></em></font></dl><li>virtual FunctionEvaluate* <a class="el" href="classFunctionEvaluate.html#a3">clone</a> (<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp;theManager) const
<dl class="el"><dd><font size=-1><em>Create a copy of the function object.</em> <a href="#a3">More...</a><em><br><br></em></font></dl></ul>
<h2>Protected Methods</h2>
<ul>
<li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classFunctionEvaluate.html#b0">getError</a> (<a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;theResult) const
<dl class="el"><dd><font size=-1><em>Get the error message to report when the function is called with the wrong number of arguments.</em> <a href="#b0">More...</a><em><br><br></em></font></dl></ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a class="el" href="classXPath.html">XPath</a> implementation of "node-set" function.
<p>
<hr><h2>Member Typedef Documentation</h2>
<a name="s0" doxytag="FunctionEvaluate::ParentType"></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> 
typedef <a class="el" href="classFunction.html">Function</a> FunctionEvaluate::ParentType
          </b></td>
        </tr>

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

<p>

<p>
Reimplemented in <a class="el" href="classXalanEXSLTFunctionEvaluate.html#s0">XalanEXSLTFunctionEvaluate</a>.    </td>
  </tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="FunctionEvaluate::FunctionEvaluate"></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> 
FunctionEvaluate::FunctionEvaluate (
          </b></td>
          <td valign="bottom"><b>
)
          </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="FunctionEvaluate::~FunctionEvaluate"></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> 
FunctionEvaluate::~FunctionEvaluate (
          </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="FunctionEvaluate::clone"></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> 
FunctionEvaluate * FunctionEvaluate::clone (
          </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 a copy of the function object.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
pointer to the new object </dl>
<p>
Reimplemented from <a class="el" href="classFunction.html#a7">Function</a>.
<p>
Reimplemented in <a class="el" href="classXalanEXSLTFunctionEvaluate.html#a3">XalanEXSLTFunctionEvaluate</a>.    </td>
  </tr>
</table>
<a name="a2" doxytag="FunctionEvaluate::execute"></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="classXObjectPtr.html">XObjectPtr</a> FunctionEvaluate::execute (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp; <em>executionContext</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>context</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classFunction.html#s1">XObjectArgVectorType</a> &amp; <em>args</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classFunction.html#s0">LocatorType</a> * <em>locator</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>
Execute an <a class="el" href="classXPath.html">XPath</a> function object.
<p>
The function must return a valid object. Extension functions should override this version of <a class="el" href="classFunctionEvaluate.html#a2">execute</a>(), rather than one of the other calls designed for a specific number of arguments, since the extension function mechanism will call this version first. Extension functions that accept more than three arguments _must_ override this version.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>executionContext</em>
&nbsp;</td><td>
executing context </td></tr>
<tr><td valign=top><em>context</em>
&nbsp;</td><td>
current context node </td></tr>
<tr><td valign=top><em>args</em>
&nbsp;</td><td>
vector of pointers to <a class="el" href="classXObject.html">XObject</a> arguments </td></tr>
<tr><td valign=top><em>locator</em>
&nbsp;</td><td>
LocatorType instance for the <a class="el" href="classXPath.html">XPath</a> expression that contains the function call </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
pointer to the result <a class="el" href="classXObject.html">XObject</a> </dl>
<p>
Reimplemented from <a class="el" href="classFunction.html#a2">Function</a>.
<p>
Reimplemented in <a class="el" href="classXalanEXSLTFunctionEvaluate.html#a2">XalanEXSLTFunctionEvaluate</a>.    </td>
  </tr>
</table>
<a name="b0" doxytag="FunctionEvaluate::getError"></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; FunctionEvaluate::getError (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>theResult</em>&nbsp;) const<code> [protected, virtual]</code>
          </b></td>
        </tr>

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

<p>
Get the error message to report when the function is called with the wrong number of arguments.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
function error message </dl>
<p>
Reimplemented from <a class="el" href="classFunction.html#b0">Function</a>.
<p>
Reimplemented in <a class="el" href="classXalanEXSLTFunctionEvaluate.html#b0">XalanEXSLTFunctionEvaluate</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="FunctionEvaluate_8hpp-source.html">FunctionEvaluate.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>
