<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>FunctionID  Class Reference</h1><a class="el" href="classXPath.html">XPath</a> implementation of "id" function. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="FunctionID_8hpp-source.html">FunctionID.hpp</a>&gt;</code>
<p>
Inheritance diagram for FunctionID:<p><center><img src="classFunctionID__inherit__graph.gif" border="0" usemap="#FunctionID_inherit_map" alt="Inheritance graph"></center>
<map name="FunctionID_inherit_map">
<area href="classFunction.html" shape="rect" coords="12,42,78,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for FunctionID:<p><center><img src="classFunctionID__coll__graph.gif" border="0" usemap="#FunctionID_coll_map" alt="Collaboration graph"></center>
<map name="FunctionID_coll_map">
<area href="classFunction.html" shape="rect" coords="12,42,78,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classFunctionID-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="classFunctionID.html#s0">ParentType</a>
</ul>
<h2>Public Methods</h2>
<ul>
<li><a class="el" href="classFunctionID.html#a0">FunctionID</a> ()
<li>virtual <a class="el" href="classFunctionID.html#a1">~FunctionID</a> ()
<li>virtual <a class="el" href="classXObjectPtr.html">XObjectPtr</a> <a class="el" href="classFunctionID.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="classXObjectPtr.html">XObjectPtr</a> arg1, 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 FunctionID* <a class="el" href="classFunctionID.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="classFunctionID.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 "id" function.
<p>
<hr><h2>Member Typedef Documentation</h2>
<a name="s0" doxytag="FunctionID::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> FunctionID::ParentType
          </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>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="FunctionID::FunctionID"></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> 
FunctionID::FunctionID (
          </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="FunctionID::~FunctionID"></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> 
FunctionID::~FunctionID (
          </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="FunctionID::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> 
FunctionID * FunctionID::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>.    </td>
  </tr>
</table>
<a name="a2" doxytag="FunctionID::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> FunctionID::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="classXObjectPtr.html">XObjectPtr</a> <em>arg1</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. Called if function has one parameter.<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>arg</em>
&nbsp;</td><td>
pointer to <a class="el" href="classXObject.html">XObject</a> argument </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#a4">Function</a>.    </td>
  </tr>
</table>
<a name="b0" doxytag="FunctionID::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; FunctionID::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>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="FunctionID_8hpp-source.html">FunctionID.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>
