<!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 class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<h1>XalanEXSLTFunctionTrailing Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="XalanEXSLTFunctionTrailing" --><!-- doxytag: inherits="Function" -->
<p><code>#include &lt;<a class="el" href="XalanEXSLTSetImpl_8hpp_source.html">XalanEXSLTSetImpl.hpp</a>&gt;</code></p>

<p>Inherits <a class="el" href="classFunction.html">Function</a>.</p>
<div class="dynheader">
Collaboration diagram for XalanEXSLTFunctionTrailing:</div>
<div class="dyncontent">
<div class="center"><img src="classXalanEXSLTFunctionTrailing__coll__graph.png" border="0" usemap="#XalanEXSLTFunctionTrailing_coll__map" alt="Collaboration graph"/></div>
<map name="XalanEXSLTFunctionTrailing_coll__map" id="XalanEXSLTFunctionTrailing_coll__map">
<area shape="rect" id="node2" href="classFunction.html" title="Function" alt="" coords="67,5,141,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classXalanEXSLTFunctionTrailing-members.html">List of all members.</a></p>
<h2><a name="pub-types"></a>
Public Types</h2>
<ul>
<li>typedef <a class="el" href="classFunction.html">Function</a> <a class="el" href="classXalanEXSLTFunctionTrailing.html#a9704a289427b341ff06c1493b9927fb3">ParentType</a>
</ul>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classXalanEXSLTFunctionTrailing.html#a275557d937fa920ff3df0f10f4ea83bc">XalanEXSLTFunctionTrailing</a> ()
<li>virtual <a class="el" href="classXalanEXSLTFunctionTrailing.html#aeb629b8e3decd1c831f5af9477f9359c">~XalanEXSLTFunctionTrailing</a> ()
<li>virtual <a class="el" href="classXObjectPtr.html">XObjectPtr</a> <a class="el" href="classXalanEXSLTFunctionTrailing.html#ac1d590de6c9fcfd65ceb432d620f291e">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="classXalanVector.html">XObjectArgVectorType</a> &amp;args, const Locator *locator) const 
<dl class="el"><dd class="mdescRight">Execute an <a class="el" href="classXPath.html">XPath</a> function object.  <a href="#ac1d590de6c9fcfd65ceb432d620f291e"></a><br/></dl><li>virtual <br class="typebreak"/>
<a class="el" href="classXalanEXSLTFunctionTrailing.html">XalanEXSLTFunctionTrailing</a> * <a class="el" href="classXalanEXSLTFunctionTrailing.html#a6dc4ae4f0cd017008b1ad1cfc701eb5e">clone</a> (MemoryManager &amp;theManager) const 
<dl class="el"><dd class="mdescRight">Create a copy of the function object.  <a href="#a6dc4ae4f0cd017008b1ad1cfc701eb5e"></a><br/></dl></ul>
<h2><a name="pro-methods"></a>
Protected Member Functions</h2>
<ul>
<li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <a class="el" href="classXalanEXSLTFunctionTrailing.html#ab0f045a848f1f9589095747934cf7725">getError</a> (<a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;theBuffer) const 
<dl class="el"><dd class="mdescRight">Get the error message to report when the function is called with the wrong number of arguments.  <a href="#ab0f045a848f1f9589095747934cf7725"></a><br/></dl></ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>

<p>Definition at line <a class="el" href="XalanEXSLTSetImpl_8hpp_source.html#l00309">309</a> of file <a class="el" href="XalanEXSLTSetImpl_8hpp_source.html">XalanEXSLTSetImpl.hpp</a>.</p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a9704a289427b341ff06c1493b9927fb3"></a><!-- doxytag: member="XalanEXSLTFunctionTrailing::ParentType" ref="a9704a289427b341ff06c1493b9927fb3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classFunction.html">Function</a> <a class="el" href="classFunction.html">XalanEXSLTFunctionTrailing::ParentType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="XalanEXSLTSetImpl_8hpp_source.html#l00313">313</a> of file <a class="el" href="XalanEXSLTSetImpl_8hpp_source.html">XalanEXSLTSetImpl.hpp</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a275557d937fa920ff3df0f10f4ea83bc"></a><!-- doxytag: member="XalanEXSLTFunctionTrailing::XalanEXSLTFunctionTrailing" ref="a275557d937fa920ff3df0f10f4ea83bc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XalanEXSLTFunctionTrailing::XalanEXSLTFunctionTrailing </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="XalanEXSLTSetImpl_8hpp_source.html#l00315">315</a> of file <a class="el" href="XalanEXSLTSetImpl_8hpp_source.html">XalanEXSLTSetImpl.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="aeb629b8e3decd1c831f5af9477f9359c"></a><!-- doxytag: member="XalanEXSLTFunctionTrailing::~XalanEXSLTFunctionTrailing" ref="aeb629b8e3decd1c831f5af9477f9359c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual XalanEXSLTFunctionTrailing::~XalanEXSLTFunctionTrailing </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="XalanEXSLTSetImpl_8hpp_source.html#l00321">321</a> of file <a class="el" href="XalanEXSLTSetImpl_8hpp_source.html">XalanEXSLTSetImpl.hpp</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a6dc4ae4f0cd017008b1ad1cfc701eb5e"></a><!-- doxytag: member="XalanEXSLTFunctionTrailing::clone" ref="a6dc4ae4f0cd017008b1ad1cfc701eb5e" args="(MemoryManager &amp;theManager) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXalanEXSLTFunctionTrailing.html">XalanEXSLTFunctionTrailing</a>* XalanEXSLTFunctionTrailing::clone </td>
          <td>(</td>
          <td class="paramtype">MemoryManager &amp;&nbsp;</td>
          <td class="paramname"> <em>theManager</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a copy of the function object. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the new object </dd></dl>

<p>Implements <a class="el" href="classFunction.html#a2fadcb58a8f88f7cff630a30ce16203c">Function</a>.</p>

<p>Definition at line <a class="el" href="XalanEXSLTSetImpl_8hpp_source.html#l00341">341</a> of file <a class="el" href="XalanEXSLTSetImpl_8hpp_source.html">XalanEXSLTSetImpl.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="ac1d590de6c9fcfd65ceb432d620f291e"></a><!-- doxytag: member="XalanEXSLTFunctionTrailing::execute" ref="ac1d590de6c9fcfd65ceb432d620f291e" args="(XPathExecutionContext &amp;executionContext, XalanNode *context, const XObjectArgVectorType &amp;args, const Locator *locator) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXObjectPtr.html">XObjectPtr</a> XalanEXSLTFunctionTrailing::execute </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classXPathExecutionContext.html">XPathExecutionContext</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>executionContext</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classXalanNode.html">XalanNode</a> *&nbsp;</td>
          <td class="paramname"> <em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classXalanVector.html">XObjectArgVectorType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>args</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Locator *&nbsp;</td>
          <td class="paramname"> <em>locator</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Execute an <a class="el" href="classXPath.html">XPath</a> function object. </p>
<p>The function must return a valid object. Extension functions should override this version of <a class="el" href="classXalanEXSLTFunctionTrailing.html#ac1d590de6c9fcfd65ceb432d620f291e" title="Execute an XPath function object.">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.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>executionContext</em>&nbsp;</td><td>executing context </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>current context node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>vector of pointers to <a class="el" href="classXObject.html" title="Class to hold XPath return types.">XObject</a> arguments </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>locator</em>&nbsp;</td><td>Locator instance for the <a class="el" href="classXPath.html">XPath</a> expression that contains the function call </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the result <a class="el" href="classXObject.html" title="Class to hold XPath return types.">XObject</a> </dd></dl>

<p>Reimplemented from <a class="el" href="classFunction.html#aa4b335cec171fe9b244240d7cc23cc9a">Function</a>.</p>

</div>
</div>
<a class="anchor" id="ab0f045a848f1f9589095747934cf7725"></a><!-- doxytag: member="XalanEXSLTFunctionTrailing::getError" ref="ab0f045a848f1f9589095747934cf7725" args="(XalanDOMString &amp;theBuffer) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; XalanEXSLTFunctionTrailing::getError </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>theBuffer</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the error message to report when the function is called with the wrong number of arguments. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>theBuffer</em>&nbsp;</td><td>The <a class="el" href="classXalanDOMString.html">XalanDOMString</a> for the message. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The error message </dd></dl>

<p>Implements <a class="el" href="classFunction.html#a2a9ce8b0b9ec2d6581355346ec84ae30">Function</a>.</p>

<p>Definition at line <a class="el" href="XalanEXSLTSetImpl_8hpp_source.html#l00349">349</a> of file <a class="el" href="XalanEXSLTSetImpl_8hpp_source.html">XalanEXSLTSetImpl.hpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XalanEXSLTSetImpl_8hpp_source.html">XalanEXSLTSetImpl.hpp</a></li>
</ul>
</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>
