<!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>FunctionTranslate Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="FunctionTranslate" --><!-- doxytag: inherits="Function" -->
<p><a class="el" href="classXPath.html">XPath</a> implementation of "translate" function.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="FunctionTranslate_8hpp_source.html">FunctionTranslate.hpp</a>&gt;</code></p>

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

<p><a href="classFunctionTranslate-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="classFunctionTranslate.html#a7ac44527172c193689429df9a4514343">ParentType</a>
</ul>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classFunctionTranslate.html#a15d17f3c7c357ae021c5dc5af38beb99">FunctionTranslate</a> ()
<li>virtual <a class="el" href="classFunctionTranslate.html#ae102fa4d0ed576f90de40378fb9e2dd5">~FunctionTranslate</a> ()
<li>virtual <a class="el" href="classXObjectPtr.html">XObjectPtr</a> <a class="el" href="classFunctionTranslate.html#ad96ad58e8acf94ed32d705f23ca612eb">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="classXObjectPtr.html">XObjectPtr</a> arg2, const <a class="el" href="classXObjectPtr.html">XObjectPtr</a> arg3, const Locator *locator) const 
<dl class="el"><dd class="mdescRight">Execute an <a class="el" href="classXPath.html">XPath</a> function object.  <a href="#ad96ad58e8acf94ed32d705f23ca612eb"></a><br/></dl><li>virtual <a class="el" href="classFunctionTranslate.html">FunctionTranslate</a> * <a class="el" href="classFunctionTranslate.html#a7612d00933b83148c572a18f716c1966">clone</a> (MemoryManager &amp;theManager) const 
<dl class="el"><dd class="mdescRight">Create a copy of the function object.  <a href="#a7612d00933b83148c572a18f716c1966"></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="classFunctionTranslate.html#a40a422ecbe705e7d440f65cfe28145bd">getError</a> (<a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;<a class="el" href="XalanDOMString_8hpp.html#ad0987a2085caff760532b7f16b5c6f2e">theResult</a>) 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="#a40a422ecbe705e7d440f65cfe28145bd"></a><br/></dl></ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p><a class="el" href="classXPath.html">XPath</a> implementation of "translate" function. </p>

<p>Definition at line <a class="el" href="FunctionTranslate_8hpp_source.html#l00040">40</a> of file <a class="el" href="FunctionTranslate_8hpp_source.html">FunctionTranslate.hpp</a>.</p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a7ac44527172c193689429df9a4514343"></a><!-- doxytag: member="FunctionTranslate::ParentType" ref="a7ac44527172c193689429df9a4514343" 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">FunctionTranslate::ParentType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="FunctionTranslate_8hpp_source.html#l00044">44</a> of file <a class="el" href="FunctionTranslate_8hpp_source.html">FunctionTranslate.hpp</a>.</p>

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

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

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a7612d00933b83148c572a18f716c1966"></a><!-- doxytag: member="FunctionTranslate::clone" ref="a7612d00933b83148c572a18f716c1966" args="(MemoryManager &amp;theManager) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classFunctionTranslate.html">FunctionTranslate</a>* FunctionTranslate::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> [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>

</div>
</div>
<a class="anchor" id="ad96ad58e8acf94ed32d705f23ca612eb"></a><!-- doxytag: member="FunctionTranslate::execute" ref="ad96ad58e8acf94ed32d705f23ca612eb" args="(XPathExecutionContext &amp;executionContext, XalanNode *context, const XObjectPtr arg1, const XObjectPtr arg2, const XObjectPtr arg3, 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> FunctionTranslate::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="classXObjectPtr.html">XObjectPtr</a>&nbsp;</td>
          <td class="paramname"> <em>arg1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classXObjectPtr.html">XObjectPtr</a>&nbsp;</td>
          <td class="paramname"> <em>arg2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classXObjectPtr.html">XObjectPtr</a>&nbsp;</td>
          <td class="paramname"> <em>arg3</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. Called if function has three parameters.</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>arg1</em>&nbsp;</td><td>pointer 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>arg2</em>&nbsp;</td><td>pointer to <a class="el" href="classXObject.html" title="Class to hold XPath return types.">XObject</a> argument </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>arg3</em>&nbsp;</td><td>pointer to <a class="el" href="classXObject.html" title="Class to hold XPath return types.">XObject</a> argument </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#adb321088aef6b80affffe9682d95b338">Function</a>.</p>

</div>
</div>
<a class="anchor" id="a40a422ecbe705e7d440f65cfe28145bd"></a><!-- doxytag: member="FunctionTranslate::getError" ref="a40a422ecbe705e7d440f65cfe28145bd" args="(XalanDOMString &amp;theResult) 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; FunctionTranslate::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> [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>

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