18#if !defined(XPATHEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680)
19#define XPATHEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680
124 return m_xpathEnvSupport;
168 return m_scratchQName;
342 const Locator*
locator = 0)
const;
348 const Locator*
locator = 0)
const;
354 const Locator*
locator = 0)
const;
367 enum { eNodeListCacheListSize = 50 };
#define XALAN_XPATH_EXPORT
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Local implementation of MutableNodeRefList.
Local implementation of NodeRefList.
Local implementation of NodeRefList.
This class defines an interface for classes that resolve namespace prefixes to their URIs.
This class handles the creation of XObjects and manages their lifetime.
Class to hold XObjectPtr return types.
A basic implementation of the class XPathExecutionContext.
virtual size_type getContextNodeListLength() const
virtual void formatNumber(double number, const XalanDOMString &pattern, const XalanDOMString &dfsName, XalanDOMString &theResult, const XalanNode *context=0, const Locator *locator=0)
Formats a number according to the specified pattern.
virtual const XObjectPtr getVariable(const XalanQName &name, const Locator *locator=0)
Given a name, locate a variable in the current context, and return a pointer to the object.
XalanQNameByValue & getScratchQName() const
Get a reference to the scratch QNameByValue instance.
XPathExecutionContextDefault(MemoryManager &theManager, XalanNode *theCurrentNode=0, const NodeRefListBase *theContextNodeList=0, const PrefixResolver *thePrefixResolver=0)
Construct an XPathExecutionContextDefault object.
XalanDOMStringCache m_stringCache
virtual XalanDOMString & getCachedString()
Get a cached string for temporary use.
virtual bool isNodeAfter(const XalanNode &node1, const XalanNode &node2) const
Determine if a node is after another node, in document order.
XalanVector< XalanNode * > CurrentNodeStackType
const PrefixResolver * m_prefixResolver
virtual void doFormatNumber(double number, const XalanDOMString &pattern, const XalanDecimalFormatSymbols *theDFS, XalanDOMString &theResult, const XalanNode *context=0, const Locator *locator=0)
virtual void formatNumber(double number, const XalanDOMString &pattern, XalanDOMString &theResult, const XalanNode *context=0, const Locator *locator=0)
Formats a number according to the specified pattern.
virtual const NodeRefListBase & getContextNodeList() const
Get the node list for current context.
XalanDOMString m_currentPattern
CurrentNodeStackType m_currentNodeStack
virtual bool shouldStripSourceNode(const XalanText &node)
Determine if a text node should be stripped from the source tree, as if it weren't there.
virtual void getNodeSetByKey(XalanNode *context, const XalanDOMString &name, const XalanDOMString &ref, const Locator *locator, MutableNodeRefList &nodelist)
Given a valid element key, return the corresponding node list.
virtual MutableNodeRefList * borrowMutableNodeRefList()
Borrow a cached MutableNodeRefList instance.
virtual bool elementAvailable(const XalanDOMString &theName, const Locator *locator) const
Determine if an external element is available by resolving a string to a QName.
virtual void getNodeSetByKey(XalanNode *context, const XalanQName &qname, const XalanDOMString &ref, const Locator *locator, MutableNodeRefList &nodelist)
Given a valid element key, return the corresponding node list.
XPathEnvSupport * getXPathEnvSupport() const
Get the XPathEnvSupport instance.
virtual bool returnMutableNodeRefList(MutableNodeRefList *theList)
Return a previously borrowed MutableNodeRefList instance.
XalanVector< const NodeRefListBase * > ContextNodeListStackType
virtual bool functionAvailable(const XalanDOMString &theName, const Locator *locator) const
Determine if a function is available.
virtual void setSourceDocument(const XalanDOMString &theURI, XalanDocument *theDocument)
Associate a document with a given URI.
virtual bool elementAvailable(const XalanQName &theQName) const
Determine if an external element is available.
virtual void problem(eSource source, eClassification classification, const XalanDOMString &msg, const Locator *locator, const XalanNode *sourceNode)
Function that is called when a problem event occurs.
virtual MutableNodeRefList * createMutableNodeRefList(MemoryManager &theManager) const
Create a MutableNodeRefList with the appropriate context.
virtual void popContextNodeList()
Pop the node list for current context.
virtual const PrefixResolver * getPrefixResolver() const
Retrieve the resolver for namespaces.
NodeListCacheType m_nodeListCache
virtual const XalanDOMString & findURIFromDoc(const XalanDocument *owner) const
Given a DOM Document, tell what URI was used to parse it.
virtual const XalanDOMString & getUnparsedEntityURI(const XalanDOMString &theName, const XalanDocument &theDocument) const
The getUnparsedEntityURI function returns the URI of the unparsed entity with the specified name in t...
virtual ~XPathExecutionContextDefault()
XalanObjectCache< MutableNodeRefList, DefaultCacheCreateFunctorMemMgr< MutableNodeRefList >, DeleteFunctor< MutableNodeRefList >, ClearCacheResetFunctor< MutableNodeRefList > > NodeListCacheType
DOMSupport * m_domSupport
ContextNodeListPositionCache m_cachedPosition
virtual const XObjectPtr extFunction(const XalanDOMString &theNamespace, const XalanDOMString &functionName, XalanNode *context, const XObjectArgVectorType &argVec, const Locator *locator)
Handle an extension function.
virtual void pushCurrentNode(XalanNode *theCurrentNode)
Change the node currently being executed.
void setXObjectFactory(XObjectFactory *theXObjectFactory)
Set the XObjectFactory instance.
virtual void error(const XalanDOMString &msg, const XalanNode *sourceNode=0, const Locator *locator=0) const
virtual void pushContextNodeList(const NodeRefListBase &theList)
Push the node list for current context.
virtual void popCurrentNode()
Reset the node currently being executed.
virtual XalanDocument * getSourceDocument(const XalanDOMString &theURI) const
Get the document associated with the given URI.
virtual size_type getContextNodeListPosition(const XalanNode &contextNode) const
XalanQNameByValue m_scratchQName
void setXPathEnvSupport(XPathEnvSupport *theSupport)
Set the XPathEnvSupport instance.
virtual void problem(eSource source, eClassification classification, const XalanDOMString &msg, const XalanNode *sourceNode)
Function that is called when a problem event occurs.
virtual void reset()
Reset the instance.
virtual void setPrefixResolver(const PrefixResolver *thePrefixResolver)
Change the resolver for namespaces.
virtual void message(const XalanDOMString &msg, const XalanNode *sourceNode=0, const Locator *locator=0) const
XPathExecutionContextDefault(XPathEnvSupport &theXPathEnvSupport, DOMSupport &theDOMSupport, XObjectFactory &theXObjectFactory, XalanNode *theCurrentNode=0, const NodeRefListBase *theContextNodeList=0, const PrefixResolver *thePrefixResolver=0)
Construct an XPathExecutionContextDefault object.
virtual XalanNode * getCurrentNode() const
Retrieve the node currently being executed.
static XPathExecutionContextDefault * create(MemoryManager &theManager, XalanNode *theCurrentNode=0, const NodeRefListBase *theContextNodeList=0, const PrefixResolver *thePrefixResolver=0)
virtual void warn(const XalanDOMString &msg, const XalanNode *sourceNode=0, const Locator *locator=0) const
virtual bool releaseCachedString(XalanDOMString &theString)
Return a cached string.
virtual bool functionAvailable(const XalanQName &theQName) const
Determine if a function is available.
ContextNodeListStackType m_contextNodeListStack
static const NodeRefList s_dummyList
virtual XalanDocument * parseXML(MemoryManager &theManager, const XalanDOMString &urlString, const XalanDOMString &base, ErrorHandler *theErrorHandler=0) const
Provides support for XML parsing service.
XPathEnvSupport * m_xpathEnvSupport
void setDOMSupport(DOMSupport *theDOMSupport)
Set the DOMSupport instance.
virtual const XalanDOMString * getNamespaceForPrefix(const XalanDOMString &prefix) const
Retrieve the URI corresponding to a namespace prefix.
Class to represent a qualified name.
ContextNodeListPositionCache()