Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Classes | Public Types | Public Member Functions | Friends
VariablesStack Class Reference

Defines a class to keep track of a stack for macro arguments. More...

List of all members.

Classes

Public Types

Public Member Functions

Friends


Detailed Description

Defines a class to keep track of a stack for macro arguments.


Member Typedef Documentation

typedef unsigned long VariablesStack::size_type

Member Enumeration Documentation

anonymous enum
Enumerator:
eDefaultStackSize 

Constructor & Destructor Documentation

VariablesStack::VariablesStack ( MemoryManagerType theManager) [explicit]

Constructor for a variable stack.

VariablesStack::~VariablesStack ( )

Member Function Documentation

size_type VariablesStack::getCurrentStackFrameIndex ( ) const

Get the top of the stack frame from where a search for a variable or param should take place.

Returns:
current value of index
size_type VariablesStack::getGlobalStackFrameIndex ( ) const

Get the top of the global stack frame.

Returns:
current value of index
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.

Parameters:
theNamename of variable
exeuctionContextthe current execution context
fNameFoundset to true if the name was found, false if not.
Returns:
pointer to XObject for variable
size_type VariablesStack::getStackSize ( ) const
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.

Parameters:
qnamename of variable
exeuctionContextthe current execution context
fNameFoundset to true if the name was found, false if not.
Returns:
pointer to the corresponding XObject
void VariablesStack::markGlobalStackFrame ( )

Mark the top of the global stack frame.

void VariablesStack::popContextMarker ( )

Pop the current context from the current context stack.

void VariablesStack::popElementFrame ( )

Pop a frame marker for an element.

Parameters:
elemthe element
void VariablesStack::pushContextMarker ( )

Push a context marker onto the stack to let us know when to stop searching for a var.

Parameters:
callercaller node
sourceNodesource node
void VariablesStack::pushElementFrame ( const ElemTemplateElement elem)

Push a frame marker for an element.

Parameters:
elemthe element
void VariablesStack::pushParams ( const ParamsVectorType theParams)

Push the provided objects as parameters.

You must call popContextMarker() when you are done with the arguments.

Parameters:
theParamThe vector containing the parameters.
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.

Parameters:
namename of variable
valpointer to ElemVariable
eelement 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.

Parameters:
namename of variable
valpointer to XObject value
eelement marker for variable
void VariablesStack::reset ( )

Reset the stack.

void VariablesStack::resetParams ( )

Reset all params in the current 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.

Parameters:
currentStackFrameIndexnew value of index
void VariablesStack::start ( )

Mark the top of the stack.

void VariablesStack::unmarkGlobalStackFrame ( )

Clear the marking of the global stack frame.


Friends And Related Function Documentation

friend class CommitPushElementFrame [friend]
friend class CommitPushParams [friend]
friend class EnsurePop [friend]
friend class PushParamFunctor [friend]
friend class SetAndRestoreForceGlobalSearch [friend]

The documentation for this class was generated from the following file:

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo