|
Xalan-C++ API Reference
1.12.0
|
Go to the documentation of this file.
18 #if !defined(XALAN_VARIABLESSTACK_HEADER_GUARD)
19 #define XALAN_VARIABLESSTACK_HEADER_GUARD
50 class ElemTemplateElement;
52 class StylesheetExecutionContext;
175 return findXObject(qname, executionContext,
true,
false, fNameFound);
195 return findXObject(qname, executionContext,
false,
true, fNameFound);
244 markGlobalStackFrame();
250 unmarkGlobalStackFrame();
262 if (currentStackFrameIndex == ~0u)
264 assert(
size_type(m_stack.size()) == m_stack.size());
266 m_currentStackFrameIndex =
size_type(m_stack.size());
270 m_currentStackFrameIndex = currentStackFrameIndex;
283 return m_currentStackFrameIndex;
294 return m_globalStackFrameIndex;
307 virtual const XalanDOMChar*
315 static const XalanDOMChar m_type[];
324 m_variablesStack(theVariablesStack)
363 bool isParam =
false);
371 bool isParam =
false);
489 enum { eDefaultStackSize = 100 };
493 class CommitPushParams
504 m_variablesStack = 0;
509 VariablesStack* m_variablesStack;
514 friend class CommitPushParams;
548 assert(m_stack.empty() ==
false);
550 return m_stack.back();
553 friend class CommitPushElementFrame;
554 friend class EnsurePop;
556 friend class SetAndRestoreForceGlobalSearch;
563 bool fSearchGlobalSpace,
570 bool fSearchGlobalSpace);
577 bool m_globalStackFrameMarked;
606 #endif // #if !defined(XALAN_VARIABLESSTACK_HEADER_GUARD)
XalanVector< ParamsVectorEntry > ParamsVectorType
XalanVector< StackEntry > VariableStackStackType
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
const ElemVariable * m_variable
const XalanQName * getName() const
Retrieve object name.
Defines a class to keep track of a stack for macro arguments.
virtual const XalanDOMChar * getType() const
Retrieve type of exception.
const XalanQName * m_qname
size_type getStackSize() const
XalanVector< const ElemTemplateElement * > ElemTemplateElementStackType
#define XALAN_XSLT_EXPORT
XalanVector< const ElemVariable * > RecursionGuardStackType
void setValue(const XObjectPtr &theValue)
Retrieve object's XObject pointer.
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
Class to hold XObjectPtr return types.
const XObjectPtr & getValue() const
Retrieve object's XObject pointer.
const ElemVariable * getVariable() const
Retrieve object's XObject pointer.
eType
Enumeration for types of stack entries, one of context state, context marker, element marker,...
eType getType() const
Determine type of stack entry.
const ElemTemplateElement * getElement() const
Retrieve the ElemTemplateElem where frame begins.
size_type getCurrentStackFrameIndex() const
Get the top of the stack frame from where a search for a variable or param should take place.
ParamsVectorEntry(const XalanQName *qname, const ElemVariable *variable)
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.
Class to represent a qualified name.
const XObjectPtr getVariable(const XalanQName &qname, StylesheetExecutionContext &executionContext, bool &fNameFound)
Given a name, find the corresponding XObject.
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.
size_type getGlobalStackFrameIndex() const
Get the top of the global stack frame.
ParamsVectorEntry(const XalanQName *qname, const XObjectPtr value)
PushParamFunctor(VariablesStack &theVariablesStack)