Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.11


Classes | Public Types | Public Member Functions | Friends

VariablesStack Class Reference

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

#include <VariablesStack.hpp>

Collaboration diagram for VariablesStack:
Collaboration graph
[legend]

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.

Definition at line 60 of file VariablesStack.hpp.


Member Typedef Documentation

Definition at line 148 of file VariablesStack.hpp.

Definition at line 146 of file VariablesStack.hpp.

Definition at line 147 of file VariablesStack.hpp.

typedef unsigned long VariablesStack::size_type

Definition at line 64 of file VariablesStack.hpp.

Definition at line 481 of file VariablesStack.hpp.


Member Enumeration Documentation

anonymous enum
Enumerator:
eDefaultStackSize 

Definition at line 489 of file VariablesStack.hpp.


Constructor & Destructor Documentation

VariablesStack::VariablesStack ( MemoryManager &  theManager  )  [explicit]

Constructor for a variable stack.

VariablesStack::~VariablesStack (  ) 

Member Function Documentation

size_type VariablesStack::getCurrentStackFrameIndex (  )  const [inline]

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

Returns:
current value of index

Definition at line 281 of file VariablesStack.hpp.

size_type VariablesStack::getGlobalStackFrameIndex (  )  const [inline]

Get the top of the global stack frame.

Returns:
current value of index

Definition at line 292 of file VariablesStack.hpp.

const XObjectPtr VariablesStack::getParamVariable ( const XalanQName qname,
StylesheetExecutionContext executionContext,
bool &  fNameFound 
) [inline]

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:
theName name of variable
exeuctionContext the current execution context
fNameFound set to true if the name was found, false if not.
Returns:
pointer to XObject for variable

Definition at line 170 of file VariablesStack.hpp.

size_type VariablesStack::getStackSize (  )  const [inline]

Definition at line 484 of file VariablesStack.hpp.

const XObjectPtr VariablesStack::getVariable ( const XalanQName qname,
StylesheetExecutionContext executionContext,
bool &  fNameFound 
) [inline]

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:
qname name of variable
exeuctionContext the current execution context
fNameFound set to true if the name was found, false if not.
Returns:
pointer to the corresponding XObject

Definition at line 190 of file VariablesStack.hpp.

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:
elem the element
void VariablesStack::pushContextMarker (  ) 

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

Parameters:
caller caller node
sourceNode source node
void VariablesStack::pushElementFrame ( const ElemTemplateElement elem  ) 

Push a frame marker for an element.

Parameters:
elem the 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:
theParam The 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:
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.

Parameters:
name name of variable
val pointer to XObject value
e element 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  )  [inline]

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:
currentStackFrameIndex new value of index

Definition at line 260 of file VariablesStack.hpp.

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]

Definition at line 553 of file VariablesStack.hpp.

friend class CommitPushParams [friend]

Definition at line 514 of file VariablesStack.hpp.

friend class EnsurePop [friend]

Definition at line 554 of file VariablesStack.hpp.

friend class PushParamFunctor [friend]

Definition at line 555 of file VariablesStack.hpp.

friend class SetAndRestoreForceGlobalSearch [friend]

Definition at line 556 of file VariablesStack.hpp.


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.

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

Apache Logo