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

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

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

<p><a href="classFunctionSubstringBefore-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="classFunctionSubstringBefore.html#a3bb3a41db103539d25ec85c285bbaad6">ParentType</a>
</ul>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classFunctionSubstringBefore.html#a91b40f44b1b04f594afe44c73b7fa396">FunctionSubstringBefore</a> ()
<li>virtual <a class="el" href="classFunctionSubstringBefore.html#aad757531fed81c28ab4fe386204cf015">~FunctionSubstringBefore</a> ()
<li>virtual <a class="el" href="classXObjectPtr.html">XObjectPtr</a> <a class="el" href="classFunctionSubstringBefore.html#aaf3a4c1b91d60af02c05bb2b2af8c7ee">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 Locator *locator) const 
<dl class="el"><dd class="mdescRight">Execute an <a class="el" href="classXPath.html">XPath</a> function object.  <a href="#aaf3a4c1b91d60af02c05bb2b2af8c7ee"></a><br/></dl><li>virtual <a class="el" href="classFunctionSubstringBefore.html">FunctionSubstringBefore</a> * <a class="el" href="classFunctionSubstringBefore.html#a0e458eb738e14d428e10251e57c5771c">clone</a> (MemoryManager &amp;theManager) const 
<dl class="el"><dd class="mdescRight">Create a copy of the function object.  <a href="#a0e458eb738e14d428e10251e57c5771c"></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="classFunctionSubstringBefore.html#a91a3f7b7dfb7e25926859f1cc08d2b9a">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="#a91a3f7b7dfb7e25926859f1cc08d2b9a"></a><br/></dl></ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p><a class="el" href="classXPath.html">XPath</a> implementation of "substring-before" function. </p>

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

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

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a91b40f44b1b04f594afe44c73b7fa396"></a><!-- doxytag: member="FunctionSubstringBefore::FunctionSubstringBefore" ref="a91b40f44b1b04f594afe44c73b7fa396" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FunctionSubstringBefore::FunctionSubstringBefore </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="aad757531fed81c28ab4fe386204cf015"></a><!-- doxytag: member="FunctionSubstringBefore::~FunctionSubstringBefore" ref="aad757531fed81c28ab4fe386204cf015" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual FunctionSubstringBefore::~FunctionSubstringBefore </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="a0e458eb738e14d428e10251e57c5771c"></a><!-- doxytag: member="FunctionSubstringBefore::clone" ref="a0e458eb738e14d428e10251e57c5771c" args="(MemoryManager &amp;theManager) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classFunctionSubstringBefore.html">FunctionSubstringBefore</a>* FunctionSubstringBefore::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="aaf3a4c1b91d60af02c05bb2b2af8c7ee"></a><!-- doxytag: member="FunctionSubstringBefore::execute" ref="aaf3a4c1b91d60af02c05bb2b2af8c7ee" args="(XPathExecutionContext &amp;executionContext, XalanNode *context, const XObjectPtr arg1, const XObjectPtr arg2, 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> FunctionSubstringBefore::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 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 two 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> argument </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>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#a6f66ecef47d99b212cd1caa7c42fec4a">Function</a>.</p>

</div>
</div>
<a class="anchor" id="a91a3f7b7dfb7e25926859f1cc08d2b9a"></a><!-- doxytag: member="FunctionSubstringBefore::getError" ref="a91a3f7b7dfb7e25926859f1cc08d2b9a" 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; FunctionSubstringBefore::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="FunctionSubstringBefore_8hpp_source.html">FunctionSubstringBefore.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>
