## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.9

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

# XPathExecutionContext Class Reference

Inheritance diagram for XPathExecutionContext:

[legend]
Collaboration diagram for XPathExecutionContext:

[legend]
List of all members.

## Public Types

- typedef XalanVector< XObjectPtr > XObjectArgVectorType
- typedef NodeRefListBase::size_type size_type

## Public Member Functions

- XPathExecutionContext (MemoryManagerType &m_memoryManager, XObjectFactory *theXObjectFactory=0)
- virtual ~XPathExecutionContext ()
- virtual void reset ()=0
    Reset the instance.
- virtual XalanNode * getCurrentNode () const=0
    Retrieve the node currently being executed.
- virtual void pushCurrentNode (XalanNode *theCurrentNode)=0
    Change the node currently being executed.
- virtual void popCurrentNode ()=0
    Reset the node currently being executed.
- XObjectFactory & getXObjectFactory () const
    Retrieve the factory object for creating XObjects.
- virtual bool isNodeAfter (const XalanNode &node1, const XalanNode &node2) const=0
    Determine if a node is after another node, in document order.
- virtual void pushContextNodeList (const NodeRefListBase &theList)=0
    Push the node list for current context.
- virtual void popContextNodeList ()=0
    Pop the node list for current context.
- virtual const NodeRefListBase & getContextNodeList () const=0
    Get the node list for current context.
- virtual size_type getContextNodeListLength () const=0
- virtual size_type getContextNodeListPosition (const XalanNode &contextNode) const=0
- virtual bool elementAvailable (const XalanQName &theQName) const=0
    Determine if an external element is available.
- virtual bool elementAvailable (const XalanDOMString &theName, const LocatorType *locator) const=0
    Determine if an external element is available by resolving a string to a QName.
- virtual bool functionAvailable (const XalanQName &theQName) const=0
    Determine if a function is available.
- virtual bool functionAvailable (const XalanDOMString &theName, const LocatorType *locator) const=0
    Determine if a function is available.
- virtual const XObjectPtr extFunction (const XalanDOMString &theNamespace, const XalanDOMString &functionName, XalanNode *context, const XObjectArgVectorType &argVec, const LocatorType *locator)=0
    Handle an extension function.
- virtual XalanDocument * parseXML (MemoryManagerType &theManager, const XalanDOMString &urlString, const XalanDOMString &base) const=0
    Provides support for XML parsing service.
- virtual MutableNodeRefList * borrowMutableNodeRefList ()=0
    Borrow a cached MutableNodeRefList instance.
- virtual bool returnMutableNodeRefList (MutableNodeRefList *theList)=0
    Return a previously borrowed MutableNodeRefList instance.
- virtual XalanDOMString & getCachedString ()=0
    Get a cached string for temporary use.
- virtual bool releaseCachedString (XalanDOMString &theString)=0
    Return a cached string.
- virtual MutableNodeRefList * createMutableNodeRefList (MemoryManagerType &theManager) const=0
    Create a MutableNodeRefList with the appropriate context.
- virtual void getNodeSetByKey (XalanDocument *doc, const XalanQName &qname, const XalanDOMString &ref, MutableNodeRefList &nodelist)=0
    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)=0
    Given a valid element key, return the corresponding node list.
- virtual const XObjectPtr getVariable (const XalanQName &name, const LocatorType *locator=0)=0
    Given a name, locate a variable in the current context, and return a pointer to the object.
- virtual const PrefixResolver * getPrefixResolver () const=0
    Retrieve the resolver for namespaces.
- 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 const XalanDOMString & findURIFromDoc (const XalanDocument *owner) const=0
    Given a DOM Document, tell what URI was used to parse it.
- 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 the same document as the context node (see [3.3 Unparsed Entities]).
- virtual bool shouldStripSourceNode (const XalanText &node)=0
    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=0
    Get the document associated with the given URI.
- virtual void setSourceDocument (const XalanDOMString &theURI, XalanDocument *theDocument)=0
    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)=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)=0
    Formats a number according to the specified pattern.
- virtual void error (const XalanDOMString &msg, const XalanNode *sourceNode=0, const LocatorType *locator=0) const=0
    Report an error and throw an exception.
- virtual void warn (const XalanDOMString &msg, const XalanNode *sourceNode=0, const LocatorType *locator=0) const=0
    Report a warning.
- virtual void message (const XalanDOMString &msg, const XalanNode *sourceNode=0, const LocatorType *locator=0) const=0
    Output a message.

## Protected Attributes

- XObjectFactory * m_xobjectFactory

## Member Typedef Documentation

typedef NodeRefListBase::size_type XPathExecutionContext::size_type

typedef XalanVector<XObjectPtr> XPathExecutionContext::XObjectArgVectorType

## Constructor & Destructor Documentation

XPathExecutionContext::XPathExecutionContext | ( | MemoryManagerType & | m_memoryManager,
|  | XObjectFactory * | theXObjectFactory = 0
| ) | `[explicit]`

virtual XPathExecutionContext::~XPathExecutionContext | ( |  | ) | `[virtual]`

## Member Function Documentation

virtual MutableNodeRefList* XPathExecutionContext::borrowMutableNodeRefList | ( |  | ) | `[pure virtual]`

| Borrow a cached MutableNodeRefList instance. Returns: A pointer to the instance. Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual MutableNodeRefList* XPathExecutionContext::createMutableNodeRefList | ( | MemoryManagerType & | theManager | ) | const`[pure virtual]`

| Create a MutableNodeRefList with the appropriate context. Returns: pointer to node list created Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual bool XPathExecutionContext::elementAvailable | ( | const XalanDOMString & | theName,
|  | const LocatorType * | locator
| ) | const`[pure virtual]`

  | Determine if an external element is available by resolving a string to a QName. Parameters:
  theName | The name of the element
  locator | A LocatorType instance for error reporting
Returns: whether the given element is available or not Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual bool XPathExecutionContext::elementAvailable | ( | const XalanQName & | theQName | ) | const`[pure virtual]`

  | Determine if an external element is available. Parameters:
  theQName | The QName of the element
Returns: whether the given element is available or not Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual void XPathExecutionContext::error | ( | const XalanDOMString & | msg,
|  | const XalanNode * | sourceNode = 0,
|  | const LocatorType * | locator = 0
| ) | const`[pure virtual]`

  | Report an error and throw an exception. Parameters:
  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 ExecutionContext. Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual const XObjectPtr XPathExecutionContext::extFunction | ( | const XalanDOMString & | theNamespace,
|  | const XalanDOMString & | functionName,
|  | XalanNode * | context,
|  | const XObjectArgVectorType & | argVec,
|  | const LocatorType * | locator
| ) | `[pure virtual]`

  | Handle an extension function. Parameters:
  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
Returns: pointer to XObject result Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual const XalanDOMString& XPathExecutionContext::findURIFromDoc | ( | const XalanDocument * | owner | ) | const`[pure virtual]`

  | Given a DOM Document, tell what URI was used to parse it. Needed for relative resolution. Parameters:
  owner | source document
Returns: document URI Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual void XPathExecutionContext::formatNumber | ( | double | number,
|  | const XalanDOMString & | pattern,
|  | const XalanDOMString & | dfsName,
|  | XalanDOMString & | theResult,
|  | const XalanNode * | context = 0,
|  | const LocatorType * | locator = 0
| ) | `[pure virtual]`

  | Formats a number according to the specified pattern. Parameters:
  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
Returns: a pointer to the functor, 0 if none was found Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual void XPathExecutionContext::formatNumber | ( | double | number,
|  | const XalanDOMString & | pattern,
|  | XalanDOMString & | theResult,
|  | const XalanNode * | context = 0,
|  | const LocatorType * | locator = 0
| ) | `[pure virtual]`

  | Formats a number according to the specified pattern. Parameters:
  number | the number to be formatted
  pattern | the format pattern
  theResult | the formatted number
  context | the source node
  locator | the locator
Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual bool XPathExecutionContext::functionAvailable | ( | const XalanDOMString & | theName,
|  | const LocatorType * | locator
| ) | const`[pure virtual]`

  | Determine if a function is available. Parameters:
  theName | The name of the function
  locator | A LocatorType instance for error reporting
Returns: whether the function is available or not Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual bool XPathExecutionContext::functionAvailable | ( | const XalanQName & | theQName | ) | const`[pure virtual]`

  | Determine if a function is available. Parameters:
  theQName | The QName of the function
Returns: whether the function is available or not Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual XalanDOMString& XPathExecutionContext::getCachedString | ( |  | ) | `[pure virtual]`

| Get a cached string for temporary use. Returns: A reference to the string Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual const NodeRefListBase& XPathExecutionContext::getContextNodeList | ( |  | ) | const`[pure virtual]`

| Get the node list for current context. Returns: node list Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual size_type XPathExecutionContext::getContextNodeListLength | ( |  | ) | const`[pure virtual]`

| Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual size_type XPathExecutionContext::getContextNodeListPosition | ( | const XalanNode & | contextNode | ) | const`[pure virtual]`

| Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual XalanNode* XPathExecutionContext::getCurrentNode | ( |  | ) | const`[pure virtual]`

| Retrieve the node currently being executed. Returns: current node Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual const XalanDOMString* XPathExecutionContext::getNamespaceForPrefix | ( | const XalanDOMString & | prefix | ) | const`[pure virtual]`

  | Retrieve the URI corresponding to a namespace prefix. Parameters:
  prefix | prefix for a namespace
Returns: URI corresponding to namespace Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual void XPathExecutionContext::getNodeSetByKey | ( | XalanDocument * | doc,
|  | const XalanDOMString & | name,
|  | const XalanDOMString & | ref,
|  | const LocatorType * | locator,
|  | MutableNodeRefList & | nodelist
| ) | `[pure virtual]`

  | Given a valid element key, return the corresponding node list. Parameters:
  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
Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual void XPathExecutionContext::getNodeSetByKey | ( | XalanDocument * | doc,
|  | const XalanQName & | qname,
|  | const XalanDOMString & | ref,
|  | MutableNodeRefList & | nodelist
| ) | `[pure virtual]`

  | Given a valid element key, return the corresponding node list. Parameters:
  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
Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual const PrefixResolver* XPathExecutionContext::getPrefixResolver | ( |  | ) | const`[pure virtual]`

| Retrieve the resolver for namespaces. Returns: object for namespace resolution Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual XalanDocument* XPathExecutionContext::getSourceDocument | ( | const XalanDOMString & | theURI | ) | const`[pure virtual]`

  | Get the document associated with the given URI. Parameters:
  theURI | document URI
Returns: a pointer to the document instance, if any. Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual const XalanDOMString& XPathExecutionContext::getUnparsedEntityURI | ( | const XalanDOMString & | theName,
|  | const XalanDocument & | theDocument
| ) | const`[pure 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. Parameters:
  theName | name of entity
  theDocument | document containing entity
Returns: URI for the entity Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual const XObjectPtr XPathExecutionContext::getVariable | ( | const XalanQName & | name,
|  | const LocatorType * | locator = 0
| ) | `[pure virtual]`

  | Given a name, locate a variable in the current context, and return a pointer to the object. Parameters:
  theName | name of variable
Returns: An XObjectPtr instance. If the variable is not found, an exception is thrown, or the routine returns an instance of XUnknown. Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

XObjectFactory& XPathExecutionContext::getXObjectFactory | ( |  | ) | const

| Retrieve the factory object for creating XObjects. Returns: factory object instance

virtual bool XPathExecutionContext::isNodeAfter | ( | const XalanNode & | node1,
|  | const XalanNode & | node2
| ) | const`[pure virtual]`

  | Determine if a node is after another node, in document order. Parameters:
  node1 | The first node
  node2 | The second node
Returns: true if node1 one is after node2, or false if it is not. Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual void XPathExecutionContext::message | ( | const XalanDOMString & | msg,
|  | const XalanNode * | sourceNode = 0,
|  | const LocatorType * | locator = 0
| ) | const`[pure virtual]`

  | Output a message. Parameters:
  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 ExecutionContext. Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual XalanDocument* XPathExecutionContext::parseXML | ( | MemoryManagerType & | theManager,
|  | const XalanDOMString & | urlString,
|  | const XalanDOMString & | base
| ) | const`[pure virtual]`

  | Provides support for XML parsing service. Parameters:
  urlString | location of the XML
  base | base location for URI
Returns: parsed document Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual void XPathExecutionContext::popContextNodeList | ( |  | ) | `[pure virtual]`

| Pop the node list for current context. Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual void XPathExecutionContext::popCurrentNode | ( |  | ) | `[pure virtual]`

| Reset the node currently being executed. Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual void XPathExecutionContext::pushContextNodeList | ( | const NodeRefListBase & | theList | ) | `[pure virtual]`

  | Push the node list for current context. Parameters:
  theList | new node list
Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual void XPathExecutionContext::pushCurrentNode | ( | XalanNode * | theCurrentNode | ) | `[pure virtual]`

  | Change the node currently being executed. Parameters:
  theCurrentNode | new current node
Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual bool XPathExecutionContext::releaseCachedString | ( | XalanDOMString & | theString | ) | `[pure virtual]`

  | Return a cached string. Parameters:
  theString | The string to release.
Returns: true if the string was released successfully. Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual void XPathExecutionContext::reset | ( |  | ) | `[pure virtual]`

| Reset the instance. This must be called before another execution is attempted. Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual bool XPathExecutionContext::returnMutableNodeRefList | ( | MutableNodeRefList * | theList | ) | `[pure virtual]`

  | Return a previously borrowed MutableNodeRefList instance. Parameters:
  theList | A pointer the to previously borrowed instance.
Returns: true if the list was borrowed (at therefore, destroyed), false if not. Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual void XPathExecutionContext::setPrefixResolver | ( | const PrefixResolver * | thePrefixResolver | ) | `[pure virtual]`

  | Change the resolver for namespaces. Parameters:
  thePrefixResolver | new object for namespace resolution
Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual void XPathExecutionContext::setSourceDocument | ( | const XalanDOMString & | theURI,
|  | XalanDocument * | theDocument
| ) | `[pure virtual]`

  | Associate a document with a given URI. Parameters:
  theURI | document URI
  theDocument | source document
Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual bool XPathExecutionContext::shouldStripSourceNode | ( | const XalanText & | node | ) | `[pure 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. Parameters:
  textNode | text node from the source tree
Returns: true if the text node should be stripped of extra whitespace Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

virtual void XPathExecutionContext::warn | ( | const XalanDOMString & | msg,
|  | const XalanNode * | sourceNode = 0,
|  | const LocatorType * | locator = 0
| ) | const`[pure virtual]`

  | Report a warning. Parameters:
  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 ExecutionContext. Implemented in XPathExecutionContextDefault, StylesheetExecutionContext, and StylesheetExecutionContextDefault.

## Member Data Documentation

XObjectFactory* XPathExecutionContext::m_xobjectFactory`[protected]`

The documentation for this class was generated from the following file:

- XPathExecutionContext.hpp

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

Xalan-C++ XSLT Processor Version 1.9 Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.