 |
Xalan-C++ API Reference
1.12.0
|
Go to the documentation of this file.
18 #if !defined(XPATHEXECUTIONCONTEXT_HEADER_GUARD_1357924680)
19 #define XPATHEXECUTIONCONTEXT_HEADER_GUARD_1357924680
49 namespace XERCES_CPP_NAMESPACE
60 class XalanDecimalFormatSymbols;
73 using xercesc::ErrorHandler;
92 MemoryManager& theMemoryManager,
134 m_executionContext(theExecutionContext)
141 m_executionContext.popCurrentNode();
157 assert(m_xobjectFactory != 0);
159 return *m_xobjectFactory;
195 m_executionContext(theExecutionContext)
197 m_executionContext.pushContextNodeList(theNodeList);
202 m_executionContext.popContextNodeList();
259 const Locator* locator)
const = 0;
282 const Locator* locator)
const = 0;
300 const Locator* locator) = 0;
313 MemoryManager& theManager,
316 ErrorHandler* theErrorHandler = 0)
const = 0;
340 m_xpathExecutionContext(&executionContext),
341 m_mutableNodeRefList(executionContext.borrowMutableNodeRefList())
343 assert(m_mutableNodeRefList != 0);
348 m_xpathExecutionContext(theSource.m_xpathExecutionContext),
349 m_mutableNodeRefList(theSource.m_mutableNodeRefList)
351 assert(m_mutableNodeRefList != 0);
364 assert(m_mutableNodeRefList != 0);
366 return *m_mutableNodeRefList;
372 return m_mutableNodeRefList;
384 assert(m_xpathExecutionContext != 0);
386 if (m_mutableNodeRefList != 0)
388 m_xpathExecutionContext->returnMutableNodeRefList(m_mutableNodeRefList);
390 m_mutableNodeRefList = 0;
397 assert(m_xpathExecutionContext != 0);
401 *theResult = *m_mutableNodeRefList;
412 m_xpathExecutionContext = theRHS.m_xpathExecutionContext;
414 m_mutableNodeRefList = theRHS.m_mutableNodeRefList;
416 theRHS.m_mutableNodeRefList = 0;
453 m_executionContext(&theExecutionContext),
454 m_string(&theExecutionContext.getCachedString())
460 m_executionContext(theSource.m_executionContext),
461 m_string(theSource.m_string)
463 theSource.m_string = 0;
470 m_executionContext->releaseCachedString(*m_string);
477 assert(m_string != 0);
485 return *m_executionContext;
531 const Locator* locator,
551 const Locator* locator,
565 const Locator* locator = 0) = 0;
590 m_executionContext(theExecutionContext),
591 m_savedResolver(theExecutionContext.getPrefixResolver())
593 m_executionContext.setPrefixResolver(theResolver);
600 m_executionContext(theExecutionContext),
601 m_savedResolver(theOldResolver)
603 m_executionContext.setPrefixResolver(theNewResolver);
608 m_executionContext.setPrefixResolver(m_savedResolver);
685 const Locator* locator = 0) = 0;
704 const Locator* locator = 0) = 0;
713 const Locator* locator,
737 #endif // XPATHEXECUTIONCONTEXT_HEADER_GUARD_1357924680
virtual void formatNumber(double number, const XalanDOMString &pattern, XalanDOMString &theResult, const XalanNode *context=0, const Locator *locator=0)=0
Formats a number according to the specified pattern.
XalanVector< XObjectPtr > XObjectArgVectorType
virtual void getNodeSetByKey(XalanNode *context, const XalanQName &qname, const XalanDOMString &ref, const Locator *locator, MutableNodeRefList &nodelist)=0
Given a valid element key, return the corresponding node list.
virtual XalanDocument * parseXML(MemoryManager &theManager, const XalanDOMString &urlString, const XalanDOMString &base, ErrorHandler *theErrorHandler=0) const =0
Provides support for XML parsing service.
virtual const NodeRefListBase & getContextNodeList() const =0
Get the node list for current context.
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
virtual size_type getContextNodeListPosition(const XalanNode &contextNode) const =0
virtual MutableNodeRefList * createMutableNodeRefList(MemoryManager &theManager) const =0
Create a MutableNodeRefList with the appropriate context.
virtual void popCurrentNode()=0
Reset the node currently being executed.
XObjectFactory & getXObjectFactory() const
Retrieve the factory object for creating XObjects.
virtual void reset()=0
Reset the instance.
virtual bool shouldStripSourceNode(const XalanText &node)=0
Determine if a text node should be stripped from the source tree, as if it weren't there.
virtual bool functionAvailable(const XalanDOMString &theName, const Locator *locator) const =0
Determine if a function is available.
PrefixResolverSetAndRestore(XPathExecutionContext &theExecutionContext, const PrefixResolver *theOldResolver, const PrefixResolver *theNewResolver)
Local implementation of MutableNodeRefList.
virtual XalanDOMString & getCachedString()=0
Get a cached string for temporary use.
virtual void setPrefixResolver(const PrefixResolver *thePrefixResolver)=0
Change the resolver for namespaces.
virtual const XalanDOMString * getNamespaceForPrefix(const XalanDOMString &prefix) const =0
Retrieve the URI corresponding to a namespace prefix.
virtual XalanDocument * getSourceDocument(const XalanDOMString &theURI) const =0
Get the document associated with the given URI.
virtual XalanNode * getCurrentNode() const =0
Retrieve the node currently being executed.
virtual void setSourceDocument(const XalanDOMString &theURI, XalanDocument *theDocument)=0
Associate a document with a given URI.
virtual void problem(eSource source, eClassification classification, const XalanDOMString &msg, const Locator *locator, const XalanNode *sourceNode)=0
Function that is called when a problem event occurs.
virtual void problem(eSource source, eClassification classification, const XalanDOMString &msg, const XalanNode *sourceNode)=0
Function that is called when a problem event occurs.
CurrentNodePushAndPop(XPathExecutionContext &theExecutionContext, XalanNode *theNewNode)
#define XALAN_XPATH_EXPORT
virtual const XalanDOMString & getUnparsedEntityURI(const XalanDOMString &theName, const XalanDocument &theDocument) const =0
The getUnparsedEntityURI function returns the URI of the unparsed entity with the specified name in t...
Class to hold XObjectPtr return types.
virtual bool elementAvailable(const XalanDOMString &theName, const Locator *locator) const =0
Determine if an external element is available by resolving a string to a QName.
XObjectFactory * m_xobjectFactory
virtual void formatNumber(double number, const XalanDOMString &pattern, const XalanDOMString &dfsName, XalanDOMString &theResult, const XalanNode *context=0, const Locator *locator=0)=0
Formats a number according to the specified pattern.
virtual bool releaseCachedString(XalanDOMString &theString)=0
Return a cached string.
GetCachedNodeList clone() const
virtual bool isNodeAfter(const XalanNode &node1, const XalanNode &node2) const =0
Determine if a node is after another node, in document order.
GetCachedString(GetCachedString &theSource)
PrefixResolverSetAndRestore(XPathExecutionContext &theExecutionContext, const PrefixResolver *theResolver)
virtual const PrefixResolver * getPrefixResolver() const =0
Retrieve the resolver for namespaces.
MutableNodeRefList & operator*() const
~PrefixResolverSetAndRestore()
virtual bool returnMutableNodeRefList(MutableNodeRefList *theList)=0
Return a previously borrowed MutableNodeRefList instance.
virtual void pushContextNodeList(const NodeRefListBase &theList)=0
Push the node list for current context.
NodeRefListBase::size_type size_type
GetCachedString GetAndReleaseCachedString
virtual void getNodeSetByKey(XalanNode *context, const XalanDOMString &name, const XalanDOMString &ref, const Locator *locator, MutableNodeRefList &nodelist)=0
Given a valid element key, return the corresponding node list.
GetCachedNodeList BorrowReturnMutableNodeRefList
virtual size_type getContextNodeListLength() const =0
virtual MutableNodeRefList * borrowMutableNodeRefList()=0
Borrow a cached MutableNodeRefList instance.
~ContextNodeListPushAndPop()
This class defines an interface for classes that resolve namespace prefixes to their URIs.
GetCachedString(XPathExecutionContext &theExecutionContext)
MutableNodeRefList * operator->() const
virtual const XObjectPtr getVariable(const XalanQName &name, const Locator *locator=0)=0
Given a name, locate a variable in the current context, and return a pointer to the object.
virtual bool functionAvailable(const XalanQName &theQName) const =0
Determine if a function is available.
virtual const XalanDOMString & findURIFromDoc(const XalanDocument *owner) const =0
Given a DOM Document, tell what URI was used to parse it.
GetCachedNodeList(XPathExecutionContext &executionContext)
XPathExecutionContext(MemoryManager &theMemoryManager, XObjectFactory *theXObjectFactory=0)
Local implementation of NodeRefList.
Class to represent a qualified name.
virtual ~XPathExecutionContext()
virtual const XObjectPtr extFunction(const XalanDOMString &theNamespace, const XalanDOMString &functionName, XalanNode *context, const XObjectArgVectorType &argVec, const Locator *locator)=0
Handle an extension function.
XalanDOMString & get() const
GetCachedNodeList & operator=(GetCachedNodeList &theRHS)
MutableNodeRefList * get() const
virtual bool elementAvailable(const XalanQName &theQName) const =0
Determine if an external element is available.
GetCachedNodeList(const GetCachedNodeList &theSource)
virtual void popContextNodeList()=0
Pop the node list for current context.
This class handles the creation of XObjects and manages their lifetime.
ContextNodeListPushAndPop(XPathExecutionContext &theExecutionContext, const NodeRefListBase &theNodeList)
XPathExecutionContext & getExecutionContext() const
virtual void pushCurrentNode(XalanNode *theCurrentNode)=0
Change the node currently being executed.