18 #if !defined(XPATHEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680)
19 #define XPATHEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680
56 class XPathEnvSupport;
100 MemoryManager& theManager,
107 MemoryManager& theManager,
124 return m_xpathEnvSupport;
135 m_xpathEnvSupport = theSupport;
146 m_domSupport = theDOMSupport;
157 m_xobjectFactory = theXObjectFactory;
168 return m_scratchQName;
177 const Locator* locator = 0);
219 const Locator* locator)
const;
227 const Locator* locator)
const;
235 const Locator* locator);
239 MemoryManager& theManager,
242 ErrorHandler* theErrorHandler = 0)
const;
264 const Locator* locator,
272 const Locator* locator,
278 const Locator* locator = 0);
310 const Locator* locator = 0);
318 const Locator* locator = 0);
328 const Locator* locator,
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 XalanDOMString * getNamespaceForPrefix(const XalanDOMString &prefix) const
Retrieve the URI corresponding to a namespace prefix.
XalanQNameByValue & getScratchQName() const
Get a reference to the scratch QNameByValue instance.
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.
virtual const PrefixResolver * getPrefixResolver() const
Retrieve the resolver for namespaces.
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...
XPathExecutionContextDefault(MemoryManager &theManager, XalanNode *theCurrentNode=0, const NodeRefListBase *theContextNodeList=0, const PrefixResolver *thePrefixResolver=0)
Construct an XPathExecutionContextDefault object.
XalanDOMStringCache m_stringCache
virtual MutableNodeRefList * createMutableNodeRefList(MemoryManager &theManager) const
Create a MutableNodeRefList with the appropriate context.
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 MutableNodeRefList * borrowMutableNodeRefList()
Borrow a cached MutableNodeRefList instance.
static XPathExecutionContextDefault * create(MemoryManager &theManager, XalanNode *theCurrentNode=0, const NodeRefListBase *theContextNodeList=0, const PrefixResolver *thePrefixResolver=0)
XalanDOMString m_currentPattern
CurrentNodeStackType m_currentNodeStack
virtual XalanDocument * parseXML(MemoryManager &theManager, const XalanDOMString &urlString, const XalanDOMString &base, ErrorHandler *theErrorHandler=0) const
Provides support for XML parsing service.
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 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.
virtual bool returnMutableNodeRefList(MutableNodeRefList *theList)
Return a previously borrowed MutableNodeRefList instance.
virtual XalanNode * getCurrentNode() const
Retrieve the node currently being executed.
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 void popContextNodeList()
Pop the node list for current context.
NodeListCacheType m_nodeListCache
virtual ~XPathExecutionContextDefault()
XalanObjectCache< MutableNodeRefList, DefaultCacheCreateFunctorMemMgr< MutableNodeRefList >, DeleteFunctor< MutableNodeRefList >, ClearCacheResetFunctor< MutableNodeRefList > > NodeListCacheType
XPathEnvSupport * getXPathEnvSupport() const
Get the XPathEnvSupport instance.
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 const NodeRefListBase & getContextNodeList() const
Get the node list for current context.
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 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 XalanDocument * getSourceDocument(const XalanDOMString &theURI) const
Get the document associated with the given URI.
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
virtual const XalanDOMString & findURIFromDoc(const XalanDocument *owner) const
Given a DOM Document, tell what URI was used to parse it.
static const NodeRefList s_dummyList
XPathEnvSupport * m_xpathEnvSupport
void setDOMSupport(DOMSupport *theDOMSupport)
Set the DOMSupport instance.
virtual XalanDOMString & getCachedString()
Get a cached string for temporary use.
NodeRefListBase::size_type size_type
Class to represent a qualified name.
Functor to delete objects, used in STL iteration algorithms.
ContextNodeListPositionCache()