A basic implementation of the class XPathExecutionContext. More...
Classes | |
struct | ContextNodeListPositionCache |
Public Types | |
typedef XalanVector< XalanNode * > | CurrentNodeStackType |
typedef XalanVector< const NodeRefListBase * > | ContextNodeListStackType |
![]() | |
typedef XalanVector< XObjectPtr > | XObjectArgVectorType |
typedef NodeRefListBase::size_type | size_type |
typedef GetAndReleaseCachedString | GetCachedString |
Public Member Functions | |
XPathExecutionContextDefault (XPathEnvSupport &theXPathEnvSupport, DOMSupport &theDOMSupport, XObjectFactory &theXObjectFactory, XalanNode *theCurrentNode=0, const NodeRefListBase *theContextNodeList=0, const PrefixResolver *thePrefixResolver=0) | |
Construct an XPathExecutionContextDefault object. | |
XPathExecutionContextDefault (MemoryManagerType &theManager, XalanNode *theCurrentNode=0, const NodeRefListBase *theContextNodeList=0, const PrefixResolver *thePrefixResolver=0) | |
Construct an XPathExecutionContextDefault object. | |
virtual | ~XPathExecutionContextDefault () |
XPathEnvSupport * | getXPathEnvSupport () const |
Get the XPathEnvSupport instance. | |
void | setXPathEnvSupport (XPathEnvSupport *theSupport) |
Set the XPathEnvSupport instance. | |
void | setDOMSupport (DOMSupport *theDOMSupport) |
Set the DOMSupport instance. | |
void | setXObjectFactory (XObjectFactory *theXObjectFactory) |
Set the XObjectFactory instance. | |
XalanQNameByValue & | getScratchQName () const |
Get a reference to the scratch QNameByValue instance. | |
virtual void | doFormatNumber (double number, const XalanDOMString &pattern, const XalanDecimalFormatSymbols *theDFS, XalanDOMString &theResult, const XalanNode *context=0, const LocatorType *locator=0) |
virtual void | reset () |
Reset the instance. | |
virtual XalanNode * | getCurrentNode () const |
Retrieve the node currently being executed. | |
virtual void | pushCurrentNode (XalanNode *theCurrentNode) |
Change the node currently being executed. | |
virtual void | popCurrentNode () |
Reset the node currently being executed. | |
virtual bool | isNodeAfter (const XalanNode &node1, const XalanNode &node2) const |
Determine if a node is after another node, in document order. | |
virtual void | pushContextNodeList (const NodeRefListBase &theList) |
Push the node list for current context. | |
virtual void | popContextNodeList () |
Pop the node list for current context. | |
virtual const NodeRefListBase & | getContextNodeList () const |
Get the node list for current context. | |
virtual size_type | getContextNodeListLength () const |
virtual size_type | getContextNodeListPosition (const XalanNode &contextNode) const |
virtual bool | elementAvailable (const XalanQName &theQName) const |
Determine if an external element is available. | |
virtual bool | elementAvailable (const XalanDOMString &theName, const LocatorType *locator) const |
Determine if an external element is available by resolving a string to a QName. | |
virtual bool | functionAvailable (const XalanQName &theQName) const |
Determine if a function is available. | |
virtual bool | functionAvailable (const XalanDOMString &theName, const LocatorType *locator) const |
Determine if a function is available. | |
virtual const XObjectPtr | extFunction (const XalanDOMString &theNamespace, const XalanDOMString &functionName, XalanNode *context, const XObjectArgVectorType &argVec, const LocatorType *locator) |
Handle an extension function. | |
virtual XalanDocument * | parseXML (MemoryManagerType &theManager, const XalanDOMString &urlString, const XalanDOMString &base) const |
Provides support for XML parsing service. | |
virtual MutableNodeRefList * | borrowMutableNodeRefList () |
Borrow a cached MutableNodeRefList instance. | |
virtual bool | returnMutableNodeRefList (MutableNodeRefList *theList) |
Return a previously borrowed MutableNodeRefList instance. | |
virtual MutableNodeRefList * | createMutableNodeRefList (MemoryManagerType &theManager) const |
Create a MutableNodeRefList with the appropriate context. | |
virtual XalanDOMString & | getCachedString () |
Get a cached string for temporary use. | |
virtual bool | releaseCachedString (XalanDOMString &theString) |
Return a cached string. | |
virtual void | getNodeSetByKey (XalanDocument *doc, const XalanQName &qname, const XalanDOMString &ref, MutableNodeRefList &nodelist) |
Given a valid element key, return the corresponding node list. | |
virtual void | getNodeSetByKey (XalanDocument *doc, const XalanDOMString &name, const XalanDOMString &ref, const LocatorType *locator, MutableNodeRefList &nodelist) |
Given a valid element key, return the corresponding node list. | |
virtual const XObjectPtr | getVariable (const XalanQName &name, const LocatorType *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 void | setPrefixResolver (const PrefixResolver *thePrefixResolver) |
Change the resolver for namespaces. | |
virtual const XalanDOMString * | getNamespaceForPrefix (const XalanDOMString &prefix) const |
Retrieve the URI corresponding to a namespace prefix. | |
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 the same document as the context node (see [3.3 Unparsed Entities]). | |
virtual bool | shouldStripSourceNode (const XalanText &node) |
Tells, through the combination of the default-space attribute on xsl:stylesheet, xsl:strip-space, xsl:preserve-space, and the xml:space attribute, whether or not extra whitespace should be stripped from the node. | |
virtual XalanDocument * | getSourceDocument (const XalanDOMString &theURI) const |
Get the document associated with the given URI. | |
virtual void | setSourceDocument (const XalanDOMString &theURI, XalanDocument *theDocument) |
Associate a document with a given URI. | |
virtual void | formatNumber (double number, const XalanDOMString &pattern, XalanDOMString &theResult, const XalanNode *context=0, const LocatorType *locator=0) |
Formats a number according to the specified pattern. | |
virtual void | formatNumber (double number, const XalanDOMString &pattern, const XalanDOMString &dfsName, XalanDOMString &theResult, const XalanNode *context=0, const LocatorType *locator=0) |
Formats a number according to the specified pattern. | |
virtual void | error (const XalanDOMString &msg, const XalanNode *sourceNode=0, const LocatorType *locator=0) const |
Report an error and throw an exception. | |
virtual void | warn (const XalanDOMString &msg, const XalanNode *sourceNode=0, const LocatorType *locator=0) const |
Report a warning. | |
virtual void | message (const XalanDOMString &msg, const XalanNode *sourceNode=0, const LocatorType *locator=0) const |
Output a message. | |
![]() | |
XPathExecutionContext (MemoryManagerType &m_memoryManager, XObjectFactory *theXObjectFactory=0) | |
virtual | ~XPathExecutionContext () |
XObjectFactory & | getXObjectFactory () const |
Retrieve the factory object for creating XObjects. | |
![]() | |
ExecutionContext (MemoryManagerType &m_memoryManager) | |
virtual | ~ExecutionContext () |
MemoryManagerType & | getMemoryManager () |
Static Public Member Functions | |
static XPathExecutionContextDefault * | create (MemoryManagerType &theManager, XalanNode *theCurrentNode=0, const NodeRefListBase *theContextNodeList=0, const PrefixResolver *thePrefixResolver=0) |
Protected Types | |
enum | { eNodeListCacheListSize = 50 } |
typedef XalanObjectCache < MutableNodeRefList, DefaultCacheCreateFunctorMemMgr < MutableNodeRefList > , DeleteFunctor < MutableNodeRefList > , ClearCacheResetFunctor < MutableNodeRefList > > | NodeListCacheType |
Protected Attributes | |
XPathEnvSupport * | m_xpathEnvSupport |
DOMSupport * | m_domSupport |
CurrentNodeStackType | m_currentNodeStack |
ContextNodeListStackType | m_contextNodeListStack |
const PrefixResolver * | m_prefixResolver |
XalanDOMString | m_currentPattern |
NodeListCacheType | m_nodeListCache |
XalanDOMStringCache | m_stringCache |
ContextNodeListPositionCache | m_cachedPosition |
XalanQNameByValue | m_scratchQName |
![]() | |
XObjectFactory * | m_xobjectFactory |
![]() | |
MemoryManagerType & | m_memoryManager |
Static Protected Attributes | |
static const NodeRefList | s_dummyList |
A basic implementation of the class XPathExecutionContext.
XPathExecutionContextDefault::XPathExecutionContextDefault | ( | XPathEnvSupport & | theXPathEnvSupport, |
DOMSupport & | theDOMSupport, | ||
XObjectFactory & | theXObjectFactory, | ||
XalanNode * | theCurrentNode = 0 , |
||
const NodeRefListBase * | theContextNodeList = 0 , |
||
const PrefixResolver * | thePrefixResolver = 0 |
||
) |
Construct an XPathExecutionContextDefault object.
theXPathEnvSupport | XPathEnvSupport class instance |
theDOMSupport | DOMSupport class instance |
theXobjectFactory | factory class instance for XObjects |
theCurrentNode | current node in the source tree |
theContextNodeList | node list for current context |
thePrefixResolver | pointer to prefix resolver to use |
|
explicit |
Construct an XPathExecutionContextDefault object.
theXPathEnvSupport | XPathEnvSupport class instance |
theXObjectFactory | factory class instance for XObjects |
theCurrentNode | current node in the source tree |
theContextNodeList | node list for current context |
thePrefixResolver | pointer to prefix resolver to use |
|
virtual |
|
virtual |
Borrow a cached MutableNodeRefList instance.
Implements XPathExecutionContext.
|
static |
|
virtual |
Create a MutableNodeRefList with the appropriate context.
Implements XPathExecutionContext.
|
virtual |
|
virtual |
Determine if an external element is available.
theQName | The QName of the element |
Implements XPathExecutionContext.
|
virtual |
Determine if an external element is available by resolving a string to a QName.
theName | The name of the element |
locator | A LocatorType instance for error reporting |
Implements XPathExecutionContext.
|
virtual |
Report an error and throw an exception.
msg | The text of the message. |
sourceNode | The source node where the error occurred. May be 0. |
locator | A Locator to determine where the error occurred. May be 0. |
Implements XPathExecutionContext.
|
virtual |
Handle an extension function.
theNamespace | namespace of function |
functionName | extension function name |
context | The context node |
argVec | vector of arguments to function |
locator | A LocatorType instance for error reporting |
Implements XPathExecutionContext.
|
virtual |
Given a DOM Document, tell what URI was used to parse it.
Needed for relative resolution.
owner | source document |
Implements XPathExecutionContext.
|
virtual |
Formats a number according to the specified pattern.
number | the number to be formatted |
pattern | the format pattern |
theResult | the formatted number |
context | the source node |
locator | the locator |
Implements XPathExecutionContext.
|
virtual |
Formats a number according to the specified pattern.
number | the number to be formatted |
pattern | the format pattern |
dfsName | the name of decimal format to use |
theResult | the formatted number |
context | the source node |
locator | the locator |
Implements XPathExecutionContext.
|
virtual |
Determine if a function is available.
theQName | The QName of the function |
Implements XPathExecutionContext.
|
virtual |
Determine if a function is available.
theName | The name of the function |
locator | A LocatorType instance for error reporting |
Implements XPathExecutionContext.
|
virtual |
Get a cached string for temporary use.
Implements XPathExecutionContext.
|
virtual |
|
virtual |
Implements XPathExecutionContext.
|
virtual |
Implements XPathExecutionContext.
|
virtual |
|
virtual |
Retrieve the URI corresponding to a namespace prefix.
prefix | prefix for a namespace |
Implements XPathExecutionContext.
|
virtual |
Given a valid element key, return the corresponding node list.
doc | source document |
name | qname of the key, which must match the 'name' attribute on xsl:key |
ref | value that must match the value found by the 'match' attribute on xsl:key |
nodelist | A node list to contain the nodes found |
Implements XPathExecutionContext.
|
virtual |
Given a valid element key, return the corresponding node list.
doc | source document |
name | name of the key, which must match the 'name' attribute on xsl:key. Will be resolved to a qname using the provided resolver. |
ref | value that must match the value found by the 'match' attribute on xsl:key |
locator | The LocatorType to use for error reporting. Can be 0. |
nodelist | A node list to contain the nodes found |
Implements XPathExecutionContext.
|
virtual |
Retrieve the resolver for namespaces.
Implements XPathExecutionContext.
XalanQNameByValue& XPathExecutionContextDefault::getScratchQName | ( | ) | const |
Get a reference to the scratch QNameByValue instance.
|
virtual |
Get the document associated with the given URI.
theURI | document URI |
Implements XPathExecutionContext.
|
virtual |
The getUnparsedEntityURI function returns the URI of the unparsed entity with the specified name in the same document as the context node (see [3.3 Unparsed Entities]).
It returns the empty string if there is no such entity.
theName | name of entity |
theDocument | document containing entity |
Implements XPathExecutionContext.
|
virtual |
Given a name, locate a variable in the current context, and return a pointer to the object.
theName | name of variable |
Implements XPathExecutionContext.
XPathEnvSupport* XPathExecutionContextDefault::getXPathEnvSupport | ( | ) | const |
Get the XPathEnvSupport instance.
|
virtual |
Determine if a node is after another node, in document order.
node1 | The first node |
node2 | The second node |
Implements XPathExecutionContext.
|
virtual |
Output a message.
msg | The text of the message. |
sourceNode | The source node where the message occurred. May be 0. |
locator | A Locator to determine where the message occurred. May be 0. |
Implements XPathExecutionContext.
|
virtual |
Provides support for XML parsing service.
urlString | location of the XML |
base | base location for URI |
Implements XPathExecutionContext.
|
virtual |
Pop the node list for current context.
Implements XPathExecutionContext.
|
virtual |
Reset the node currently being executed.
Implements XPathExecutionContext.
|
virtual |
Push the node list for current context.
theList | new node list |
Implements XPathExecutionContext.
|
virtual |
Change the node currently being executed.
theCurrentNode | new current node |
Implements XPathExecutionContext.
|
virtual |
Return a cached string.
theString | The string to release. |
Implements XPathExecutionContext.
|
virtual |
Reset the instance.
This must be called before another execution is attempted.
Implements XPathExecutionContext.
|
virtual |
Return a previously borrowed MutableNodeRefList instance.
theList | A pointer the to previously borrowed instance. |
Implements XPathExecutionContext.
void XPathExecutionContextDefault::setDOMSupport | ( | DOMSupport * | theDOMSupport | ) |
Set the DOMSupport instance.
theDOMSupport | a reference to the instance to use. |
|
virtual |
Change the resolver for namespaces.
thePrefixResolver | new object for namespace resolution |
Implements XPathExecutionContext.
|
virtual |
Associate a document with a given URI.
theURI | document URI |
theDocument | source document |
Implements XPathExecutionContext.
void XPathExecutionContextDefault::setXObjectFactory | ( | XObjectFactory * | theXObjectFactory | ) |
Set the XObjectFactory instance.
theFactory | a reference to the instance to use. |
void XPathExecutionContextDefault::setXPathEnvSupport | ( | XPathEnvSupport * | theSupport | ) |
Set the XPathEnvSupport instance.
theSupport | a reference to the instance to use. |
|
virtual |
Tells, through the combination of the default-space attribute on xsl:stylesheet, xsl:strip-space, xsl:preserve-space, and the xml:space attribute, whether or not extra whitespace should be stripped from the node.
Literal elements from template elements should not be tested with this function.
textNode | text node from the source tree |
Implements XPathExecutionContext.
|
virtual |
Report a warning.
msg | The text of the message. |
sourceNode | The source node where the warning occurred. May be 0. |
locator | A Locator to determine where the warning occurred. May be 0. |
Implements XPathExecutionContext.
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
staticprotected |
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
![]() |
Xalan-C++ XSLT Processor Version 1.10 |
|