typedef unsigned long VariablesStack::size_type |
typedef XalanVector<const ElemVariable*> VariablesStack::RecursionGuardStackType |
VariablesStack::VariablesStack | ( | MemoryManagerType & | theManager | ) | [explicit] |
Constructor for a variable stack.
VariablesStack::~VariablesStack | ( | ) |
void VariablesStack::reset | ( | ) |
Reset the stack.
void VariablesStack::pushElementFrame | ( | const ElemTemplateElement * | elem | ) |
Push a frame marker for an element.
elem | the element |
void VariablesStack::popElementFrame | ( | ) |
Pop a frame marker for an element.
elem | the element |
void VariablesStack::pushContextMarker | ( | ) |
Push a context marker onto the stack to let us know when to stop searching for a var.
caller | caller node | |
sourceNode | source node |
void VariablesStack::popContextMarker | ( | ) |
Pop the current context from the current context stack.
void VariablesStack::pushParams | ( | const ParamsVectorType & | theParams | ) |
Push the provided objects as parameters.
You must call popContextMarker() when you are done with the arguments.
theParam | The vector containing the parameters. |
const XObjectPtr VariablesStack::getParamVariable | ( | const XalanQName & | qname, | |
StylesheetExecutionContext & | executionContext, | |||
bool & | fNameFound | |||
) |
Given a name, return a string representing the value, but don't look in the global space.
Since the variable may not yet have been evaluated, this may return a null XObjectPtr.
theName | name of variable | |
exeuctionContext | the current execution context | |
fNameFound | set to true if the name was found, false if not. |
const XObjectPtr VariablesStack::getVariable | ( | const XalanQName & | qname, | |
StylesheetExecutionContext & | executionContext, | |||
bool & | fNameFound | |||
) |
Given a name, find the corresponding XObject.
If the variable exists, but has not yet been evaluated, the variable will be evaluated and the result returned. This may return a null XObjectPtr, if the variable was not found.
qname | name of variable | |
exeuctionContext | the current execution context | |
fNameFound | set to true if the name was found, false if not. |
void VariablesStack::pushVariable | ( | const XalanQName & | name, | |
const ElemVariable * | var, | |||
const ElemTemplateElement * | e | |||
) |
Push a named variable onto the processor variable stack.
Don't forget to call startContext before pushing a series of arguments for a given template.
name | name of variable | |
val | pointer to ElemVariable | |
e | element marker for variable |
void VariablesStack::pushVariable | ( | const XalanQName & | name, | |
const XObjectPtr & | val, | |||
const ElemTemplateElement * | e | |||
) |
Push a named variable onto the processor variable stack.
Don't forget to call startContext before pushing a series of arguments for a given template.
name | name of variable | |
val | pointer to XObject value | |
e | element marker for variable |
void VariablesStack::start | ( | ) |
Mark the top of the stack.
void VariablesStack::resetParams | ( | ) |
Reset all params in the current stack frame.
void VariablesStack::markGlobalStackFrame | ( | ) |
Mark the top of the global stack frame.
void VariablesStack::unmarkGlobalStackFrame | ( | ) |
Clear the marking of the global stack frame.
void VariablesStack::setCurrentStackFrameIndex | ( | size_type | currentStackFrameIndex = ~0u |
) |
Set the top of the stack frame from where a search for a variable or param should take place.
Calling with no parameter will cause the index to be set to the size of the stack.
currentStackFrameIndex | new value of index |
size_type VariablesStack::getCurrentStackFrameIndex | ( | ) | const |
Get the top of the stack frame from where a search for a variable or param should take place.
size_type VariablesStack::getGlobalStackFrameIndex | ( | ) | const |
Get the top of the global stack frame.
size_type VariablesStack::getStackSize | ( | ) | const |
friend class CommitPushParams [friend] |
friend class CommitPushElementFrame [friend] |
friend class EnsurePop [friend] |
friend class PushParamFunctor [friend] |
friend class SetAndRestoreForceGlobalSearch [friend] |
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
![]() |
Xalan-C++ XSLT Processor Version 1.10 |
|