Xalan-C++ API Documentation

The Xalan-C++ XSL Transformer Version 1.0

Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

VariablesStack Class Reference

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

#include <VariablesStack.hpp>

List of all members.

Public Types

Public Methods

Friends


Detailed Description

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


Member Typedef Documentation

typedef std::vector<std::pair<const QName*, const XObject*> > VariablesStack::ParamsVectorType


Constructor & Destructor Documentation

explicit VariablesStack::VariablesStack ()

Constructor for a variable stack.

VariablesStack::~VariablesStack ()


Member Function Documentation

int 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

const XObject * VariablesStack::getParamVariable ( const QName & qname) const

Given a name, return a string representing the value, but don't look in the global space.

Parameters:
theName   name of variable
Returns:
pointer to XObject for variable

const XObject * VariablesStack::getVariable ( const QName & name) const

Given a name, find the corresponding XObject.

Parameters:
qname   name of variable
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 ( const ElemTemplateElement * elem)

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,
const ElemTemplateElement * targetTemplate)

Push the provided objects as parameters.

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

Parameters:
theParam   The vector containing the parameters.
targetTemplate   target template for the parameters

void VariablesStack::pushVariable ( const QName & name,
const XObject * 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 macro call.

Parameters:
name   name of variable
val   pointer to XObject value
e   element marker for variable

void VariablesStack::reset ()

Reset the stack.

void VariablesStack::setCurrentStackFrameIndex ( int currentStackFrameIndex = -1)

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

void VariablesStack::start ()

Mark the top of the stack.


Friends And Related Function Documentation

class CommitPushElementFrame [friend]

class EnsurePop [friend]

class PopPushStackEntry [friend]

class PushFunctor [friend]

class PushParamFunctor [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.

Xalan-C++ XSL Transformer Version 1.0
Copyright © 2000 The Apache Software Foundation. All Rights Reserved.