blob: 83d6c86b9b6e29929e900ed50f50e82be3efecc1 [file] [log] [blame]
<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>VariablesStack Class Reference</h1>Defines a class to keep track of a stack for macro arguments.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="VariablesStack_8hpp-source.html">VariablesStack.hpp</a>&gt;</code>
<p>
<a href="classVariablesStack-members.html">List of all members.</a><h2>Public Types</h2>
<ul>
<li>typedef unsigned long <a class="el" href="classVariablesStack.html#s0">size_type</a>
<li>typedef XalanVector&lt;<a class="el" href="structVariablesStack_1_1ParamsVectorEntry.html">ParamsVectorEntry</a>&gt; <a class="el" href="classVariablesStack.html#s1">ParamsVectorType</a>
<li>typedef XalanVector&lt;const <br>
<a class="el" href="classElemVariable.html">ElemVariable</a>*&gt; <a class="el" href="classVariablesStack.html#s2">RecursionGuardStackType</a>
<li>typedef XalanVector&lt;const <br>
<a class="el" href="classElemTemplateElement.html">ElemTemplateElement</a>*&gt; <a class="el" href="classVariablesStack.html#s3">ElemTemplateElementStackType</a>
<li>typedef XalanVector&lt;<a class="el" href="classVariablesStack_1_1StackEntry.html">StackEntry</a>&gt; <a class="el" href="classVariablesStack.html#s4">VariableStackStackType</a>
<li>enum { <a class="el" href="classVariablesStack.html#s6s5">eDefaultStackSize</a> = 100
}
</ul>
<h2>Public Methods</h2>
<ul>
<li><a class="el" href="classVariablesStack.html#a0">VariablesStack</a> (<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp;theManager)
<dl class="el"><dd><font size=-1><em>Constructor for a variable stack.</em> <a href="#a0">More...</a><em><br><br></em></font></dl><li><a class="el" href="classVariablesStack.html#a1">~VariablesStack</a> ()
<li>void <a class="el" href="classVariablesStack.html#a2">reset</a> ()
<dl class="el"><dd><font size=-1><em>Reset the stack.</em> <a href="#a2">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="classVariablesStack.html#a3">pushElementFrame</a> (const <a class="el" href="classElemTemplateElement.html">ElemTemplateElement</a> *elem)
<dl class="el"><dd><font size=-1><em>Push a frame marker for an element.</em> <a href="#a3">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="classVariablesStack.html#a4">popElementFrame</a> ()
<dl class="el"><dd><font size=-1><em>Pop a frame marker for an element.</em> <a href="#a4">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="classVariablesStack.html#a5">pushContextMarker</a> ()
<dl class="el"><dd><font size=-1><em>Push a context marker onto the stack to let us know when to stop searching for a var.</em> <a href="#a5">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="classVariablesStack.html#a6">popContextMarker</a> ()
<dl class="el"><dd><font size=-1><em>Pop the current context from the current context stack.</em> <a href="#a6">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="classVariablesStack.html#a7">pushParams</a> (const <a class="el" href="classVariablesStack.html#s1">ParamsVectorType</a> &amp;theParams)
<dl class="el"><dd><font size=-1><em>Push the provided objects as parameters.</em> <a href="#a7">More...</a><em><br><br></em></font></dl><li>const <a class="el" href="classXObjectPtr.html">XObjectPtr</a> <a class="el" href="classVariablesStack.html#a8">getParamVariable</a> (const <a class="el" href="classXalanQName.html">XalanQName</a> &amp;qname, <a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp;executionContext, bool &amp;fNameFound)
<dl class="el"><dd><font size=-1><em>Given a name, return a string representing the value, but don't look in the global space.</em> <a href="#a8">More...</a><em><br><br></em></font></dl><li>const <a class="el" href="classXObjectPtr.html">XObjectPtr</a> <a class="el" href="classVariablesStack.html#a9">getVariable</a> (const <a class="el" href="classXalanQName.html">XalanQName</a> &amp;qname, <a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp;executionContext, bool &amp;fNameFound)
<dl class="el"><dd><font size=-1><em>Given a name, find the corresponding <a class="el" href="classXObject.html">XObject</a>.</em> <a href="#a9">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="classVariablesStack.html#a10">pushVariable</a> (const <a class="el" href="classXalanQName.html">XalanQName</a> &amp;name, const <a class="el" href="classElemVariable.html">ElemVariable</a> *var, const <a class="el" href="classElemTemplateElement.html">ElemTemplateElement</a> *e)
<dl class="el"><dd><font size=-1><em>Push a named variable onto the processor variable stack.</em> <a href="#a10">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="classVariablesStack.html#a11">pushVariable</a> (const <a class="el" href="classXalanQName.html">XalanQName</a> &amp;name, const <a class="el" href="classXObjectPtr.html">XObjectPtr</a> &amp;val, const <a class="el" href="classElemTemplateElement.html">ElemTemplateElement</a> *e)
<dl class="el"><dd><font size=-1><em>Push a named variable onto the processor variable stack.</em> <a href="#a11">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="classVariablesStack.html#a12">start</a> ()
<dl class="el"><dd><font size=-1><em>Mark the top of the stack.</em> <a href="#a12">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="classVariablesStack.html#a13">resetParams</a> ()
<dl class="el"><dd><font size=-1><em>Reset all params in the current stack frame.</em> <a href="#a13">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="classVariablesStack.html#a14">markGlobalStackFrame</a> ()
<dl class="el"><dd><font size=-1><em>Mark the top of the global stack frame.</em> <a href="#a14">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="classVariablesStack.html#a15">unmarkGlobalStackFrame</a> ()
<dl class="el"><dd><font size=-1><em>Clear the marking of the global stack frame.</em> <a href="#a15">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="classVariablesStack.html#a16">setCurrentStackFrameIndex</a> (<a class="el" href="classVariablesStack.html#s0">size_type</a> currentStackFrameIndex=~0u)
<dl class="el"><dd><font size=-1><em>Set the top of the stack frame from where a search for a variable or param should take place.</em> <a href="#a16">More...</a><em><br><br></em></font></dl><li><a class="el" href="classVariablesStack.html#s0">size_type</a> <a class="el" href="classVariablesStack.html#a17">getCurrentStackFrameIndex</a> () const
<dl class="el"><dd><font size=-1><em>Get the top of the stack frame from where a search for a variable or param should take place.</em> <a href="#a17">More...</a><em><br><br></em></font></dl><li><a class="el" href="classVariablesStack.html#s0">size_type</a> <a class="el" href="classVariablesStack.html#a18">getGlobalStackFrameIndex</a> () const
<dl class="el"><dd><font size=-1><em>Get the top of the global stack frame.</em> <a href="#a18">More...</a><em><br><br></em></font></dl><li><a class="el" href="classVariablesStack.html#s0">size_type</a> <a class="el" href="classVariablesStack.html#a19">getStackSize</a> () const
</ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Defines a class to keep track of a stack for macro arguments.
<p>
<hr><h2>Member Typedef Documentation</h2>
<a name="s3" doxytag="VariablesStack::ElemTemplateElementStackType"></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 XalanVector&lt; const <a class="el" href="classElemTemplateElement.html">ElemTemplateElement</a> *&gt; VariablesStack::ElemTemplateElementStackType&lt;const <a class="el" href="classElemTemplateElement.html">ElemTemplateElement</a>*&gt;
</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="s1" doxytag="VariablesStack::ParamsVectorType"></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 XalanVector&lt; <a class="el" href="structVariablesStack_1_1ParamsVectorEntry.html">ParamsVectorEntry</a> &gt; VariablesStack::ParamsVectorType&lt;<a class="el" href="structVariablesStack_1_1ParamsVectorEntry.html">ParamsVectorEntry</a>&gt;
</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="s2" doxytag="VariablesStack::RecursionGuardStackType"></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 XalanVector&lt; const <a class="el" href="classElemVariable.html">ElemVariable</a> *&gt; VariablesStack::RecursionGuardStackType&lt;const <a class="el" href="classElemVariable.html">ElemVariable</a>*&gt;
</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="s4" doxytag="VariablesStack::VariableStackStackType"></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 XalanVector&lt; <a class="el" href="classVariablesStack_1_1StackEntry.html">StackEntry</a> &gt; VariablesStack::VariableStackStackType&lt;<a class="el" href="classVariablesStack_1_1StackEntry.html">StackEntry</a>&gt;
</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="s0" doxytag="VariablesStack::size_type"></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 unsigned long VariablesStack::size_type
</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 Enumeration Documentation</h2>
<a name="s6" doxytag="VariablesStack::@39"></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>
anonymous enum
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt>
<b>Enumeration values:</b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><a name="s6s5" doxytag="eDefaultStackSize"></a><em>eDefaultStackSize</em>
&nbsp;</td><td>
</td></tr>
</table>
</dl>
</td>
</tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="VariablesStack::VariablesStack"></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>
VariablesStack::VariablesStack (
</b></td>
<td valign="bottom"><b>
<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp; <em>theManager</em>&nbsp;)<code> [explicit]</code>
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Constructor for a variable stack.
<p>
</td>
</tr>
</table>
<a name="a1" doxytag="VariablesStack::~VariablesStack"></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>
VariablesStack::~VariablesStack (
</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>
<hr><h2>Member Function Documentation</h2>
<a name="a17" doxytag="VariablesStack::getCurrentStackFrameIndex"></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="classVariablesStack.html#s0">size_type</a> VariablesStack::getCurrentStackFrameIndex (
</b></td>
<td valign="bottom"><b>
) const
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get the top of the stack frame from where a search for a variable or param should take place.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
current value of index </dl> </td>
</tr>
</table>
<a name="a18" doxytag="VariablesStack::getGlobalStackFrameIndex"></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="classVariablesStack.html#s0">size_type</a> VariablesStack::getGlobalStackFrameIndex (
</b></td>
<td valign="bottom"><b>
) const
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get the top of the global stack frame.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
current value of index </dl> </td>
</tr>
</table>
<a name="a8" doxytag="VariablesStack::getParamVariable"></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="classXObjectPtr.html">XObjectPtr</a> VariablesStack::getParamVariable (
</b></td>
<td valign="bottom"><b>
const <a class="el" href="classXalanQName.html">XalanQName</a> &amp; <em>qname</em>,
</b></td>
</tr>
<tr>
<td></td>
<td><b>
<a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp; <em>executionContext</em>,
</b></td>
</tr>
<tr>
<td></td>
<td><b>
bool &amp; <em>fNameFound</em>&nbsp;)
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Given a name, return a string representing the value, but don't look in the global space.
<p>
Since the variable may not yet have been evaluated, this may return a null <a class="el" href="classXObjectPtr.html">XObjectPtr</a>.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theName</em>
&nbsp;</td><td>
name of variable </td></tr>
<tr><td valign=top><em>exeuctionContext</em>
&nbsp;</td><td>
the current execution context </td></tr>
<tr><td valign=top><em>fNameFound</em>
&nbsp;</td><td>
set to true if the name was found, false if not. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
pointer to <a class="el" href="classXObject.html">XObject</a> for variable </dl> </td>
</tr>
</table>
<a name="a19" doxytag="VariablesStack::getStackSize"></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="classVariablesStack.html#s0">size_type</a> VariablesStack::getStackSize (
</b></td>
<td valign="bottom"><b>
) const
</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="a9" doxytag="VariablesStack::getVariable"></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="classXObjectPtr.html">XObjectPtr</a> VariablesStack::getVariable (
</b></td>
<td valign="bottom"><b>
const <a class="el" href="classXalanQName.html">XalanQName</a> &amp; <em>qname</em>,
</b></td>
</tr>
<tr>
<td></td>
<td><b>
<a class="el" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a> &amp; <em>executionContext</em>,
</b></td>
</tr>
<tr>
<td></td>
<td><b>
bool &amp; <em>fNameFound</em>&nbsp;)
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Given a name, find the corresponding <a class="el" href="classXObject.html">XObject</a>.
<p>
If the variable exists, but has not yet been evaluated, the variable will be evaluated and the result returned. This may return a null <a class="el" href="classXObjectPtr.html">XObjectPtr</a>, if the variable was not found.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>qname</em>
&nbsp;</td><td>
name of variable </td></tr>
<tr><td valign=top><em>exeuctionContext</em>
&nbsp;</td><td>
the current execution context </td></tr>
<tr><td valign=top><em>fNameFound</em>
&nbsp;</td><td>
set to true if the name was found, false if not. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
pointer to the corresponding <a class="el" href="classXObject.html">XObject</a> </dl> </td>
</tr>
</table>
<a name="a14" doxytag="VariablesStack::markGlobalStackFrame"></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>
void VariablesStack::markGlobalStackFrame (
</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>
Mark the top of the global stack frame.
<p>
</td>
</tr>
</table>
<a name="a6" doxytag="VariablesStack::popContextMarker"></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>
void VariablesStack::popContextMarker (
</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>
Pop the current context from the current context stack.
<p>
</td>
</tr>
</table>
<a name="a4" doxytag="VariablesStack::popElementFrame"></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>
void VariablesStack::popElementFrame (
</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>
Pop a frame marker for an element.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>elem</em>
&nbsp;</td><td>
the element </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a5" doxytag="VariablesStack::pushContextMarker"></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>
void VariablesStack::pushContextMarker (
</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>
Push a context marker onto the stack to let us know when to stop searching for a var.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>caller</em>
&nbsp;</td><td>
caller node </td></tr>
<tr><td valign=top><em>sourceNode</em>
&nbsp;</td><td>
source node </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a3" doxytag="VariablesStack::pushElementFrame"></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>
void VariablesStack::pushElementFrame (
</b></td>
<td valign="bottom"><b>
const <a class="el" href="classElemTemplateElement.html">ElemTemplateElement</a> * <em>elem</em>&nbsp;)
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Push a frame marker for an element.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>elem</em>
&nbsp;</td><td>
the element </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a7" doxytag="VariablesStack::pushParams"></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>
void VariablesStack::pushParams (
</b></td>
<td valign="bottom"><b>
const <a class="el" href="classVariablesStack.html#s1">ParamsVectorType</a> &amp; <em>theParams</em>&nbsp;)
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Push the provided objects as parameters.
<p>
You must call <a class="el" href="classVariablesStack.html#a6">popContextMarker</a>() when you are done with the arguments.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theParam</em>
&nbsp;</td><td>
The vector containing the parameters. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a11" doxytag="VariablesStack::pushVariable"></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>
void VariablesStack::pushVariable (
</b></td>
<td valign="bottom"><b>
const <a class="el" href="classXalanQName.html">XalanQName</a> &amp; <em>name</em>,
</b></td>
</tr>
<tr>
<td></td>
<td><b>
const <a class="el" href="classXObjectPtr.html">XObjectPtr</a> &amp; <em>val</em>,
</b></td>
</tr>
<tr>
<td></td>
<td><b>
const <a class="el" href="classElemTemplateElement.html">ElemTemplateElement</a> * <em>e</em>&nbsp;)
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Push a named variable onto the processor variable stack.
<p>
Don't forget to call startContext before pushing a series of arguments for a given template.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>name</em>
&nbsp;</td><td>
name of variable </td></tr>
<tr><td valign=top><em>val</em>
&nbsp;</td><td>
pointer to <a class="el" href="classXObject.html">XObject</a> value </td></tr>
<tr><td valign=top><em>e</em>
&nbsp;</td><td>
element marker for variable </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a10" doxytag="VariablesStack::pushVariable"></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>
void VariablesStack::pushVariable (
</b></td>
<td valign="bottom"><b>
const <a class="el" href="classXalanQName.html">XalanQName</a> &amp; <em>name</em>,
</b></td>
</tr>
<tr>
<td></td>
<td><b>
const <a class="el" href="classElemVariable.html">ElemVariable</a> * <em>var</em>,
</b></td>
</tr>
<tr>
<td></td>
<td><b>
const <a class="el" href="classElemTemplateElement.html">ElemTemplateElement</a> * <em>e</em>&nbsp;)
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Push a named variable onto the processor variable stack.
<p>
Don't forget to call startContext before pushing a series of arguments for a given template.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>name</em>
&nbsp;</td><td>
name of variable </td></tr>
<tr><td valign=top><em>val</em>
&nbsp;</td><td>
pointer to <a class="el" href="classElemVariable.html">ElemVariable</a> </td></tr>
<tr><td valign=top><em>e</em>
&nbsp;</td><td>
element marker for variable </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a2" doxytag="VariablesStack::reset"></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>
void VariablesStack::reset (
</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>
Reset the stack.
<p>
</td>
</tr>
</table>
<a name="a13" doxytag="VariablesStack::resetParams"></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>
void VariablesStack::resetParams (
</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>
Reset all params in the current stack frame.
<p>
</td>
</tr>
</table>
<a name="a16" doxytag="VariablesStack::setCurrentStackFrameIndex"></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>
void VariablesStack::setCurrentStackFrameIndex (
</b></td>
<td valign="bottom"><b>
<a class="el" href="classVariablesStack.html#s0">size_type</a> <em>currentStackFrameIndex</em> = ~0u&nbsp;)
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Set the top of the stack frame from where a search for a variable or param should take place.
<p>
Calling with no parameter will cause the index to be set to the size of the stack.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>currentStackFrameIndex</em>
&nbsp;</td><td>
new value of index </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a12" doxytag="VariablesStack::start"></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>
void VariablesStack::start (
</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>
Mark the top of the stack.
<p>
</td>
</tr>
</table>
<a name="a15" doxytag="VariablesStack::unmarkGlobalStackFrame"></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>
void VariablesStack::unmarkGlobalStackFrame (
</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>
Clear the marking of the global stack frame.
<p>
</td>
</tr>
</table>
<hr><h2>Friends And Related Function Documentation</h2>
<a name="l1" doxytag="VariablesStack::CommitPushElementFrame"></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>
class CommitPushElementFrame<code> [friend]</code>
</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="l0" doxytag="VariablesStack::CommitPushParams"></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>
class CommitPushParams<code> [friend]</code>
</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="l2" doxytag="VariablesStack::EnsurePop"></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>
class EnsurePop<code> [friend]</code>
</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="l3" doxytag="VariablesStack::PushParamFunctor"></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>
class PushParamFunctor<code> [friend]</code>
</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="l4" doxytag="VariablesStack::SetAndRestoreForceGlobalSearch"></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>
class SetAndRestoreForceGlobalSearch<code> [friend]</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>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="VariablesStack_8hpp-source.html">VariablesStack.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>