16 #if !defined(XALAN_VARIABLESSTACK_HEADER_GUARD)
17 #define XALAN_VARIABLESSTACK_HEADER_GUARD
43 XALAN_CPP_NAMESPACE_BEGIN
173 return findXObject(qname, executionContext,
true,
false, fNameFound);
193 return findXObject(qname, executionContext,
false,
true, fNameFound);
242 markGlobalStackFrame();
248 unmarkGlobalStackFrame();
260 if (currentStackFrameIndex == ~0u)
262 assert(
size_type(m_stack.size()) == m_stack.size());
264 m_currentStackFrameIndex =
size_type(m_stack.size());
268 m_currentStackFrameIndex = currentStackFrameIndex;
281 return m_currentStackFrameIndex;
292 return m_globalStackFrameIndex;
305 virtual const XalanDOMChar*
313 static const XalanDOMChar m_type[];
322 m_variablesStack(theVariablesStack)
361 bool isParam =
false);
369 bool isParam =
false);
487 enum { eDefaultStackSize = 100 };
491 class CommitPushParams
502 m_variablesStack = 0;
512 friend class CommitPushParams;
546 assert(m_stack.empty() ==
false);
548 return m_stack.back();
551 friend class CommitPushElementFrame;
552 friend class EnsurePop;
554 friend class SetAndRestoreForceGlobalSearch;
561 bool fSearchGlobalSpace,
568 bool fSearchGlobalSpace);
575 bool m_globalStackFrameMarked;
600 XALAN_CPP_NAMESPACE_END
604 #endif // #if !defined(XALAN_VARIABLESSTACK_HEADER_GUARD)
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
Definition: XalanVector.hpp:1111
PushParamFunctor(VariablesStack &theVariablesStack)
Definition: VariablesStack.hpp:321
Type value_type
Definition: XalanVector.hpp:66
Definition: ElemVariable.hpp:52
Definition: XalanNode.hpp:44
XalanVector< const ElemVariable * > RecursionGuardStackType
Definition: VariablesStack.hpp:145
eType getType() const
Determine type of stack entry.
Definition: VariablesStack.hpp:393
unsigned long size_type
Definition: VariablesStack.hpp:62
XALAN_CPP_NAMESPACE_BEGIN typedef XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager MemoryManagerType
Definition: XalanMemoryManagement.hpp:39
eType
Enumeration for types of stack entries, one of context state, context marker, element marker...
Definition: VariablesStack.hpp:342
void setValue(const XObjectPtr &theValue)
Retrieve object's XObject pointer.
Definition: VariablesStack.hpp:426
XalanVector< const ElemTemplateElement * > ElemTemplateElementStackType
Definition: VariablesStack.hpp:146
Definition: ElemTemplateElement.hpp:74
Definition: VariablesStack.hpp:343
Definition: VariablesStack.hpp:295
XalanVector< StackEntry > VariableStackStackType
Definition: VariablesStack.hpp:479
size_type getStackSize() const
Definition: VariablesStack.hpp:482
ParamsVectorEntry(const XalanQName *qname, const ElemVariable *variable)
Definition: VariablesStack.hpp:128
void setCurrentStackFrameIndex(size_type currentStackFrameIndex=~0u)
Set the top of the stack frame from where a search for a variable or param should take place...
Definition: VariablesStack.hpp:258
Definition: StylesheetExecutionContext.hpp:104
Definition: XSLTProcessorException.hpp:35
const XalanQName * getName() const
Retrieve object name.
Definition: VariablesStack.hpp:404
Class to hold XObjectPtr return types.
Definition: XObject.hpp:584
const XObjectPtr & getValue() const
Retrieve object's XObject pointer.
Definition: VariablesStack.hpp:415
ParamsVectorEntry(const XalanQName *qname, const XObjectPtr value)
Definition: VariablesStack.hpp:119
const XObjectPtr getVariable(const XalanQName &qname, StylesheetExecutionContext &executionContext, bool &fNameFound)
Given a name, find the corresponding XObject.
Definition: VariablesStack.hpp:188
const XObjectPtr 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...
Definition: VariablesStack.hpp:168
Definition: VariablesStack.hpp:110
Definition: VariablesStack.hpp:346
XALAN_CPP_NAMESPACE_BEGIN typedef size_t size_type
Definition: XalanMap.hpp:44
virtual const XalanDOMChar * getType() const
Retrieve type of exception.
Definition: VariablesStack.hpp:306
XalanVector< ParamsVectorEntry > ParamsVectorType
Definition: VariablesStack.hpp:144
ParamsVectorEntry()
Definition: VariablesStack.hpp:112
size_type getGlobalStackFrameIndex() const
Get the top of the global stack frame.
Definition: VariablesStack.hpp:290
const ElemTemplateElement * getElement() const
Retrieve the ElemTemplateElem where frame begins.
Definition: VariablesStack.hpp:454
const XalanQName * m_qname
Definition: VariablesStack.hpp:137
#define XALAN_XSLT_EXPORT
Definition: XSLTDefinitions.hpp:25
Definition: VariablesStack.hpp:334
size_type getCurrentStackFrameIndex() const
Get the top of the stack frame from where a search for a variable or param should take place...
Definition: VariablesStack.hpp:279
Definition: XalanDOMString.hpp:42
const ElemVariable * getVariable() const
Retrieve object's XObject pointer.
Definition: VariablesStack.hpp:437
Defines a class to keep track of a stack for macro arguments.
Definition: VariablesStack.hpp:58
Definition: VariablesStack.hpp:344
XObjectPtr m_value
Definition: VariablesStack.hpp:139
Class to represent a qualified name: "The name of an internal XSLT object, specifically a named templ...
Definition: XalanQName.hpp:68
Definition: XalanVector.hpp:61
Definition: VariablesStack.hpp:345
const ElemVariable * m_variable
Definition: VariablesStack.hpp:141
Definition: VariablesStack.hpp:317