Xalan-C++ API Documentation

The Xalan C++ XSL Transformer Version 1.1

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

XPathExecutionContextDefault Class Reference

A basic implementation of the class XPathExecutionContext. More...

#include <XPathExecutionContextDefault.hpp>

Inheritance diagram for XPathExecutionContextDefault

Inheritance graph

[legend]
Collaboration diagram for XPathExecutionContextDefault:

Collaboration graph

[legend]
List of all members.

Public Types

Public Methods

Protected Types

Protected Attributes

Static Protected Attributes


Detailed Description

A basic implementation of the class XPathExecutionContext.


Member Typedef Documentation

typedef std::vector<MutableNodeRefList*> XPathExecutionContextDefault::NodeRefListCacheType
 

typedef std::vector<ResultTreeFragBase*> XPathExecutionContextDefault::ResultTreeFragCacheType
 


Member Enumeration Documentation

anonymous enum [protected]
 

Enumeration values:
eMutableNodeRefListCacheMax  
eResultTreeFragListCacheMax  
eCachedArgVectorDefaultSize  


Constructor & Destructor Documentation

XPathExecutionContextDefault::XPathExecutionContextDefault ( XPathEnvSupport & theXPathEnvSupport,
DOMSupport & theDOMSupport,
XObjectFactory & theXObjectFactory,
XalanNode * theCurrentNode = 0,
const NodeRefListBase * theContextNodeList = 0,
const PrefixResolver * thePrefixResolver = 0 )
 

Construct an XPathExecutionContextDefault object.

Parameters:
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

virtual XPathExecutionContextDefault::~XPathExecutionContextDefault ( ) [virtual]
 


Member Function Documentation

virtual void XPathExecutionContextDefault::associateXLocatorToNode ( const XalanNode * node,
XLocator * xlocator ) [virtual]
 

Associate an XLocator provider to a node.

This makes the association based on the root of the tree that is the node's parent.

Parameters:
node   node for association
xlocator   locator to associate with node

Reimplemented from XPathExecutionContext.

virtual MutableNodeRefList* XPathExecutionContextDefault::borrowMutableNodeRefList ( ) [virtual]
 

Borrow a cached MutableNodeRefList instance.

Returns:
A pointer to the instance.

Reimplemented from XPathExecutionContext.

virtual ResultTreeFragBase* XPathExecutionContextDefault::borrowResultTreeFrag ( ) [virtual]
 

Borrow a cached ResultTreeFragBase instance.

Returns:
A pointer to the instance.

Reimplemented from XPathExecutionContext.

virtual MutableNodeRefList* XPathExecutionContextDefault::createMutableNodeRefList ( ) const [virtual]
 

Create a MutableNodeRefList with the appropriate context.

Returns:
pointer to node list created

Reimplemented from XPathExecutionContext.

virtual XObjectPtr XPathExecutionContextDefault::createNodeSet ( XalanNode & theNode ) [virtual]
 

Convenience function for creating a node set with the supplied node as the only member.

Parameters:
node   The node queried
Returns:
a pointer to the XObject instance.

Reimplemented from XPathExecutionContext.

virtual bool XPathExecutionContextDefault::elementAvailable ( const XalanDOMString & theNamespace,
const XalanDOMString & elementName ) const [virtual]
 

Determine if an external element is available.

Parameters:
theNamespace   namespace for the element
elementName   name of extension element
Returns:
whether the given element is available or not

Reimplemented from XPathExecutionContext.

virtual void XPathExecutionContextDefault::error ( const char * msg,
const XalanNode * sourceNode = 0,
const XalanNode * styleNode = 0 ) const [virtual]
 

Tell the user of an error, and probably throw an exception.

Parameters:
msg   text of message to output
sourceNode   node in source where error occurred
styleNode   node in stylesheet where error occurred

Reimplemented from XPathExecutionContext.

virtual void XPathExecutionContextDefault::error ( const XalanDOMString & msg,
const XalanNode * sourceNode = 0,
const XalanNode * styleNode = 0 ) const [virtual]
 

Tell the user of an error, and probably throw an exception.

Parameters:
msg   text of message to output
sourceNode   node in source where error occurred
styleNode   node in stylesheet where error occurred

Reimplemented from XPathExecutionContext.

virtual const XObjectPtr XPathExecutionContextDefault::extFunction ( const XalanDOMString & theNamespace,
const XalanDOMString & functionName,
XalanNode * context,
const XObjectArgVectorType & argVec ) [virtual]
 

Handle an extension function.

Parameters:
theNamespace   namespace of function
functionName   extension function name
argVec   vector of arguments to function
Returns:
pointer to XObject result

Reimplemented from XPathExecutionContext.

virtual XalanDOMString XPathExecutionContextDefault::findURIFromDoc ( const XalanDocument * owner ) const [virtual]
 

Given a DOM Document, tell what URI was used to parse it.

Needed for relative resolution.

Parameters:
owner   source document
Returns:
document URI

Reimplemented from XPathExecutionContext.

virtual bool XPathExecutionContextDefault::functionAvailable ( const XalanDOMString & theNamespace,
const XalanDOMString & functionName ) const [virtual]
 

Determine if a function is available.

For standard function availability, theNamespace should be an empty string.

Parameters:
theNamespace   namespace for the function
functionName   name of the function
Returns:
whether the function is available or not

Reimplemented from XPathExecutionContext.

virtual XalanDOMString& XPathExecutionContextDefault::getCachedString ( ) [virtual]
 

Reimplemented from XPathExecutionContext.

virtual const NodeRefListBase& XPathExecutionContextDefault::getContextNodeList ( ) const [virtual]
 

Retrieve node list for current context.

Returns:
node list

Reimplemented from XPathExecutionContext.

virtual unsigned int XPathExecutionContextDefault::getContextNodeListLength ( ) const [virtual]
 

Reimplemented from XPathExecutionContext.

virtual unsigned int XPathExecutionContextDefault::getContextNodeListPosition ( const XalanNode & contextNode ) const [virtual]
 

Reimplemented from XPathExecutionContext.

virtual XalanNode* XPathExecutionContextDefault::getCurrentNode ( ) const [virtual]
 

Retrieve the node currently being executed.

Returns:
current node

Reimplemented from XPathExecutionContext.

virtual XalanDocument* XPathExecutionContextDefault::getDOMFactory ( ) const [virtual]
 

Get a DOM document, primarily for creating result tree fragments.

Returns:
DOM document

Reimplemented from XPathExecutionContext.

virtual const XalanDecimalFormatSymbols* XPathExecutionContextDefault::getDecimalFormatSymbols ( const XalanDOMString & name ) [virtual]
 

Retrieve the XalanDecimalFormatSymbols instance associated with the name.

Parameters:
name   the name for the lookup
Returns:
a pointer to the matching instance, or 0 if none was found

Reimplemented from XPathExecutionContext.

virtual const XalanDOMString& XPathExecutionContextDefault::getNamespaceForPrefix ( const XalanDOMString & prefix ) const [virtual]
 

Retrieve the URI corresponding to a namespace prefix.

Parameters:
prefix   prefix for a namespace
Returns:
URI corresponding to namespace

Reimplemented from XPathExecutionContext.

virtual void XPathExecutionContextDefault::getNodeSetByKey ( XalanNode * doc,
const XalanDOMString & name,
const XalanDOMString & ref,
const PrefixResolver & resolver,
MutableNodeRefList & nodelist ) [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
ref   value that must match the value found by the 'match' attribute on xsl:key
resolver   resolver for namespace resolution
nodelist   A node list to contain the nodes found

Reimplemented from XPathExecutionContext.

virtual const PrefixResolver* XPathExecutionContextDefault::getPrefixResolver ( ) const [virtual]
 

Retrieve the resolver for namespaces.

Returns:
object for namespace resolution

Reimplemented from XPathExecutionContext.

virtual XalanDocument* XPathExecutionContextDefault::getSourceDocument ( const XalanDOMString & theURI ) const [virtual]
 

Reimplemented from XPathExecutionContext.

virtual bool XPathExecutionContextDefault::getThrowFoundIndex ( ) const [virtual]
 

Tells if FoundIndex should be thrown if index is found.

This is an optimization for match patterns, and is used internally by the XPath engine.

Returns:
true to throw FoundIndex

Reimplemented from XPathExecutionContext.

virtual const XalanDOMString& XPathExecutionContextDefault::getUnparsedEntityURI ( const XalanDOMString & theName,
const XalanDocument & theDocument ) const [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

Reimplemented from XPathExecutionContext.

virtual const XObjectPtr XPathExecutionContextDefault::getVariable ( const QName & name ) [virtual]
 

Given a name, locate a variable in the current context, and return a pointer to the object.

Parameters:
theName   name of variable
Returns:
pointer to an XObject if the variable was found, 0 if it was not

Reimplemented from XPathExecutionContext.

virtual XLocator* XPathExecutionContextDefault::getXLocatorFromNode ( const XalanNode * node ) const [virtual]
 

Get an XLocator provider keyed by node.

This gets the association based on the root of the tree that is the node's parent.

Parameters:
node   node for locator
Returns:
pointer to locator

Reimplemented from XPathExecutionContext.

virtual XObjectFactory& XPathExecutionContextDefault::getXObjectFactory ( ) const [virtual]
 

Retrieve the factory object for creating XObjects.

Returns:
factory object instance

Reimplemented from XPathExecutionContext.

virtual bool XPathExecutionContextDefault::isNodeAfter ( const XalanNode & node1,
const XalanNode & node2 ) const [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.

Reimplemented from XPathExecutionContext.

virtual void XPathExecutionContextDefault::message ( const char * msg,
const XalanNode * sourceNode = 0,
const XalanNode * styleNode = 0 ) const [virtual]
 

Output a message.

Parameters:
msg   text of message to output
sourceNode   node in source where error occurred
styleNode   node in stylesheet where error occurred

Reimplemented from XPathExecutionContext.

virtual void XPathExecutionContextDefault::message ( const XalanDOMString & msg,
const XalanNode * sourceNode = 0,
const XalanNode * styleNode = 0 ) const [virtual]
 

Output a message.

Parameters:
msg   text of message to output
sourceNode   node in source where error occurred
styleNode   node in stylesheet where error occurred

Reimplemented from XPathExecutionContext.

virtual XalanDocument* XPathExecutionContextDefault::parseXML ( const XalanDOMString & urlString,
const XalanDOMString & base ) const [virtual]
 

Provides support for XML parsing service.

Parameters:
urlString   location of the XML
base   base location for URI
Returns:
parsed document

Reimplemented from XPathExecutionContext.

virtual bool XPathExecutionContextDefault::releaseCachedString ( XalanDOMString & theString ) [virtual]
 

Reimplemented from XPathExecutionContext.

virtual void XPathExecutionContextDefault::reset ( ) [virtual]
 

Reset the instance.

This must be called before another execution is attempted.

Reimplemented from XPathExecutionContext.

virtual bool XPathExecutionContextDefault::returnMutableNodeRefList ( MutableNodeRefList * theList ) [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.

Reimplemented from XPathExecutionContext.

virtual bool XPathExecutionContextDefault::returnResultTreeFrag ( ResultTreeFragBase * theResultTreeFragBase ) [virtual]
 

Return a previously borrowed ResultTreeFragBase instance.

Parameters:
theList   A pointer the to previously borrowed instance.
Returns:
true if the list was borrowed (at therefore, destroyed), false if not.

Reimplemented from XPathExecutionContext.

virtual void XPathExecutionContextDefault::setContextNodeList ( const NodeRefListBase & theList ) [virtual]
 

Set node list for current context.

Parameters:
theList   new node list

Reimplemented from XPathExecutionContext.

virtual void XPathExecutionContextDefault::setCurrentNode ( XalanNode * theCurrentNode ) [virtual]
 

Change the node currently being executed.

Parameters:
theCurrentNode   new current node

Reimplemented from XPathExecutionContext.

virtual void XPathExecutionContextDefault::setPrefixResolver ( const PrefixResolver * thePrefixResolver ) [virtual]
 

Change the resolver for namespaces.

Parameters:
thePrefixResolver   new object for namespace resolution

Reimplemented from XPathExecutionContext.

virtual void XPathExecutionContextDefault::setSourceDocument ( const XalanDOMString & theURI,
XalanDocument * theDocument ) [virtual]
 

Associate a document with a given URI.

Parameters:
theURI   document URI
theDocument   source document

Reimplemented from XPathExecutionContext.

virtual void XPathExecutionContextDefault::setThrowFoundIndex ( bool fThrow ) [virtual]
 

Changes whether FoundIndex should be thrown if index is found.

This is an optimization for match patterns, and is used internally by the XPath engine.

Parameters:
fThrow   true to throw FoundIndex

Reimplemented from XPathExecutionContext.

virtual bool XPathExecutionContextDefault::shouldStripSourceNode ( const XalanNode & node ) [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

Reimplemented from XPathExecutionContext.

virtual void XPathExecutionContextDefault::warn ( const char * msg,
const XalanNode * sourceNode = 0,
const XalanNode * styleNode = 0 ) const [virtual]
 

Tell the user of an warning, and probably throw an exception.

Parameters:
msg   text of message to output
sourceNode   node in source where error occurred
styleNode   node in stylesheet where error occurred

Reimplemented from XPathExecutionContext.

virtual void XPathExecutionContextDefault::warn ( const XalanDOMString & msg,
const XalanNode * sourceNode = 0,
const XalanNode * styleNode = 0 ) const [virtual]
 

Tell the user of an warning, and probably throw an exception.

Parameters:
msg   text of message to output
sourceNode   node in source where error occurred
styleNode   node in stylesheet where error occurred

Reimplemented from XPathExecutionContext.


Member Data Documentation

NodeRefListCacheType XPathExecutionContextDefault::m_availableCachedNodeLists [protected]
 

ResultTreeFragCacheType XPathExecutionContextDefault::m_availableCachedResultTreeFrags [protected]
 

NodeRefListCacheType XPathExecutionContextDefault::m_busyCachedNodeLists [protected]
 

ResultTreeFragCacheType XPathExecutionContextDefault::m_busyCachedResultTreeFrags [protected]
 

const NodeRefListBase * XPathExecutionContextDefault::m_contextNodeList [protected]
 

XalanNode * XPathExecutionContextDefault::m_currentNode [protected]
 

XalanDOMString XPathExecutionContextDefault::m_currentPattern [protected]
 

DOMSupport & XPathExecutionContextDefault::m_domSupport [protected]
 

const PrefixResolver * XPathExecutionContextDefault::m_prefixResolver [protected]
 

XalanDOMStringCache XPathExecutionContextDefault::m_stringCache [protected]
 

bool XPathExecutionContextDefault::m_throwFoundIndex [protected]
 

XObjectFactory & XPathExecutionContextDefault::m_xobjectFactory [protected]
 

XPathEnvSupport & XPathExecutionContextDefault::m_xpathEnvSupport [protected]
 

const NodeRefList XPathExecutionContextDefault::s_dummyList [static, protected]
 


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

Interpreting class diagrams

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

Xalan-C++ XSL Transformer Version 1.1
Copyright © 2000, 2001 The Apache Software Foundation. All Rights Reserved.