18 #if !defined(XPATHEXECUTIONCONTEXT_HEADER_GUARD_1357924680) 19 #define XPATHEXECUTIONCONTEXT_HEADER_GUARD_1357924680 49 XALAN_DECLARE_XERCES_CLASS(ErrorHandler)
53 XALAN_CPP_NAMESPACE_BEGIN
89 MemoryManager& theMemoryManager,
108 getCurrentNode()
const = 0;
116 pushCurrentNode(
XalanNode* theCurrentNode) = 0;
122 popCurrentNode() = 0;
131 m_executionContext(theExecutionContext)
138 m_executionContext.popCurrentNode();
154 assert(m_xobjectFactory != 0);
156 return *m_xobjectFactory;
183 popContextNodeList() = 0;
192 m_executionContext(theExecutionContext)
194 m_executionContext.pushContextNodeList(theNodeList);
199 m_executionContext.popContextNodeList();
213 getContextNodeList()
const = 0;
221 getContextNodeListLength()
const = 0;
231 getContextNodeListPosition(
const XalanNode& contextNode)
const = 0;
242 elementAvailable(
const XalanQName& theQName)
const = 0;
256 const Locator* locator)
const = 0;
266 functionAvailable(
const XalanQName& theQName)
const = 0;
279 const Locator* locator)
const = 0;
296 const XObjectArgVectorType& argVec,
297 const Locator* locator) = 0;
310 MemoryManager& theManager,
313 ErrorHandler* theErrorHandler = 0)
const = 0;
321 borrowMutableNodeRefList() = 0;
337 m_xpathExecutionContext(&executionContext),
338 m_mutableNodeRefList(executionContext.borrowMutableNodeRefList())
340 assert(m_mutableNodeRefList != 0);
345 m_xpathExecutionContext(theSource.m_xpathExecutionContext),
346 m_mutableNodeRefList(theSource.m_mutableNodeRefList)
348 assert(m_mutableNodeRefList != 0);
361 assert(m_mutableNodeRefList != 0);
363 return *m_mutableNodeRefList;
369 return m_mutableNodeRefList;
381 assert(m_xpathExecutionContext != 0);
383 if (m_mutableNodeRefList != 0)
385 m_xpathExecutionContext->returnMutableNodeRefList(m_mutableNodeRefList);
387 m_mutableNodeRefList = 0;
394 assert(m_xpathExecutionContext != 0);
398 *theResult = *m_mutableNodeRefList;
409 m_xpathExecutionContext = theRHS.m_xpathExecutionContext;
411 m_mutableNodeRefList = theRHS.m_mutableNodeRefList;
413 theRHS.m_mutableNodeRefList = 0;
433 getCachedString() = 0;
450 m_executionContext(&theExecutionContext),
451 m_string(&theExecutionContext.getCachedString())
457 m_executionContext(theSource.m_executionContext),
458 m_string(theSource.m_string)
460 theSource.m_string = 0;
467 m_executionContext->releaseCachedString(*m_string);
474 assert(m_string != 0);
482 return *m_executionContext;
510 createMutableNodeRefList(MemoryManager& theManager)
const = 0;
528 const Locator* locator,
548 const Locator* locator,
562 const Locator* locator = 0) = 0;
570 getPrefixResolver()
const = 0;
587 m_executionContext(theExecutionContext),
588 m_savedResolver(theExecutionContext.getPrefixResolver())
590 m_executionContext.setPrefixResolver(theResolver);
597 m_executionContext(theExecutionContext),
598 m_savedResolver(theOldResolver)
600 m_executionContext.setPrefixResolver(theNewResolver);
605 m_executionContext.setPrefixResolver(m_savedResolver);
644 getUnparsedEntityURI(
677 virtual void formatNumber(
682 const Locator* locator = 0) = 0;
695 virtual void formatNumber(
701 const Locator* locator = 0) = 0;
710 const Locator* locator,
721 shouldStripSourceNode(
const XalanText& node) = 0;
730 XALAN_CPP_NAMESPACE_END
734 #endif // XPATHEXECUTIONCONTEXT_HEADER_GUARD_1357924680 GetCachedNodeList & operator=(GetCachedNodeList &theRHS)
~PrefixResolverSetAndRestore()
PrefixResolverSetAndRestore(XPathExecutionContext &theExecutionContext, const PrefixResolver *theResolver)
PrefixResolverSetAndRestore(XPathExecutionContext &theExecutionContext, const PrefixResolver *theOldResolver, const PrefixResolver *theNewResolver)
Local implementation of MutableNodeRefList.
ContextNodeListPushAndPop(XPathExecutionContext &theExecutionContext, const NodeRefListBase &theNodeList)
XObjectFactory * m_xobjectFactory
GetCachedNodeList(XPathExecutionContext &executionContext)
virtual void pushCurrentNode(XalanNode *theCurrentNode)=0
Change the node currently being executed.
GetCachedString(XPathExecutionContext &theExecutionContext)
Class to hold XObjectPtr return types.
XPathExecutionContext & getExecutionContext() const
MutableNodeRefList & operator*() const
GetCachedNodeList(const GetCachedNodeList &theSource)
Local implementation of NodeRefList.
CurrentNodePushAndPop(XPathExecutionContext &theExecutionContext, XalanNode *theNewNode)
XalanVector< XObjectPtr > XObjectArgVectorType
GetCachedString(GetCachedString &theSource)
GetCachedString GetAndReleaseCachedString
This class defines an interface for classes that resolve namespace prefixes to their URIs...
Class to hold XPath return types.
GetCachedNodeList clone() const
NodeRefListBase::size_type size_type
XObjectFactory & getXObjectFactory() const
Retrieve the factory object for creating XObjects.
XALAN_CPP_NAMESPACE_BEGIN XALAN_USING_XERCES(Locator)
MutableNodeRefList * operator->() const
#define XALAN_XPATH_EXPORT
This class handles the creation of XObjects and manages their lifetime.
Class to represent a qualified name.
GetCachedNodeList BorrowReturnMutableNodeRefList
~ContextNodeListPushAndPop()