Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

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

Static Public Methods

Protected Types

Protected Attributes

Static Protected Attributes


Detailed Description

A basic implementation of the class XPathExecutionContext.


Member Typedef Documentation

typedef XalanVector< const NodeRefListBase *> XPathExecutionContextDefault::ContextNodeListStackType<const NodeRefListBase*>
 

typedef XalanVector< XalanNode *> XPathExecutionContextDefault::CurrentNodeStackType<XalanNode*>
 

typedef XalanObjectCache< MutableNodeRefList, DefaultCacheCreateFunctorMemMgr< MutableNodeRefList >, DeleteFunctor< MutableNodeRefList >, ClearCacheResetFunctor< MutableNodeRefList > > XPathExecutionContextDefault::NodeListCacheType<MutableNodeRefList, DefaultCacheCreateFunctorMemMgr<MutableNodeRefList>, DeleteFunctor<MutableNodeRefList>, ClearCacheResetFunctor<MutableNodeRefList> > [protected]
 


Member Enumeration Documentation

anonymous enum [protected]
 

Enumeration values:
eNodeListCacheListSize  


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

XPathExecutionContextDefault::XPathExecutionContextDefault ( MemoryManagerType & theManager,
XalanNode * theCurrentNode = 0,
const NodeRefListBase * theContextNodeList = 0,
const PrefixResolver * thePrefixResolver = 0 ) [explicit]
 

Construct an XPathExecutionContextDefault object.

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

XPathExecutionContextDefault::~XPathExecutionContextDefault ( ) [virtual]
 


Member Function Documentation

MutableNodeRefList * XPathExecutionContextDefault::borrowMutableNodeRefList ( ) [virtual]
 

Borrow a cached MutableNodeRefList instance.

Returns:
A pointer to the instance.

Reimplemented from XPathExecutionContext.

XPathExecutionContextDefault * XPathExecutionContextDefault::create ( MemoryManagerType & theManager,
XalanNode * theCurrentNode = 0,
const NodeRefListBase * theContextNodeList = 0,
const PrefixResolver * thePrefixResolver = 0 ) [static]
 

MutableNodeRefList * XPathExecutionContextDefault::createMutableNodeRefList ( MemoryManagerType & theManager ) const [virtual]
 

Create a MutableNodeRefList with the appropriate context.

Returns:
pointer to node list created

Reimplemented from XPathExecutionContext.

void XPathExecutionContextDefault::doFormatNumber ( double number,
const XalanDOMString & pattern,
const XalanDecimalFormatSymbols * theDFS,
XalanDOMString & theResult,
const XalanNode * context = 0,
const LocatorType * locator = 0 ) [virtual]
 

bool XPathExecutionContextDefault::elementAvailable ( const XalanDOMString & theName,
const LocatorType * locator ) const [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

Reimplemented from XPathExecutionContext.

bool XPathExecutionContextDefault::elementAvailable ( const XalanQName & theQName ) const [virtual]
 

Determine if an external element is available.

Parameters:
theQName   The QName of the element

Returns:
whether the given element is available or not

Reimplemented from XPathExecutionContext.

void XPathExecutionContextDefault::error ( const XalanDOMString & msg,
const XalanNode * sourceNode = 0,
const LocatorType * locator = 0 ) const [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.

Reimplemented from XPathExecutionContext.

const XObjectPtr XPathExecutionContextDefault::extFunction ( const XalanDOMString & theNamespace,
const XalanDOMString & functionName,
XalanNode * context,
const XObjectArgVectorType & argVec,
const LocatorType * locator ) [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

Reimplemented from XPathExecutionContext.

const 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.

void XPathExecutionContextDefault::formatNumber ( double number,
const XalanDOMString & pattern,
const XalanDOMString & dfsName,
XalanDOMString & theResult,
const XalanNode * context = 0,
const LocatorType * locator = 0 ) [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

Reimplemented from XPathExecutionContext.

void XPathExecutionContextDefault::formatNumber ( double number,
const XalanDOMString & pattern,
XalanDOMString & theResult,
const XalanNode * context = 0,
const LocatorType * locator = 0 ) [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

Reimplemented from XPathExecutionContext.

bool XPathExecutionContextDefault::functionAvailable ( const XalanDOMString & theName,
const LocatorType * locator ) const [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

Reimplemented from XPathExecutionContext.

bool XPathExecutionContextDefault::functionAvailable ( const XalanQName & theQName ) const [virtual]
 

Determine if a function is available.

Parameters:
theQName   The QName of the function

Returns:
whether the function is available or not

Reimplemented from XPathExecutionContext.

XalanDOMString & XPathExecutionContextDefault::getCachedString ( ) [virtual]
 

Get a cached string for temporary use.

Returns:
A reference to the string

Reimplemented from XPathExecutionContext.

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

Get the node list for current context.

Returns:
node list

Reimplemented from XPathExecutionContext.

size_type XPathExecutionContextDefault::getContextNodeListLength ( ) const [virtual]
 

Reimplemented from XPathExecutionContext.

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

Reimplemented from XPathExecutionContext.

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

Retrieve the node currently being executed.

Returns:
current node

Reimplemented from XPathExecutionContext.

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.

void XPathExecutionContextDefault::getNodeSetByKey ( XalanDocument * doc,
const XalanDOMString & name,
const XalanDOMString & ref,
const LocatorType * locator,
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. 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

Reimplemented from XPathExecutionContext.

void XPathExecutionContextDefault::getNodeSetByKey ( XalanDocument * doc,
const XalanQName & qname,
const XalanDOMString & ref,
MutableNodeRefList & nodelist ) [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

Reimplemented from XPathExecutionContext.

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

Retrieve the resolver for namespaces.

Returns:
object for namespace resolution

Reimplemented from XPathExecutionContext.

XalanQNameByValue & XPathExecutionContextDefault::getScratchQName ( ) const
 

Get a reference to the scratch QNameByValue instance.

Returns:
A reference to a QNameByValue instance.

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

Get the document associated with the given URI.

Parameters:
theURI   document URI
Returns:
a pointer to the document instance, if any.

Reimplemented from XPathExecutionContext.

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.

const XObjectPtr XPathExecutionContextDefault::getVariable ( const XalanQName & name,
const LocatorType * locator = 0 ) [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.

Reimplemented from XPathExecutionContext.

XPathEnvSupport * XPathExecutionContextDefault::getXPathEnvSupport ( ) const
 

Get the XPathEnvSupport instance.

Returns:
a pointer to the instance.

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.

void XPathExecutionContextDefault::message ( const XalanDOMString & msg,
const XalanNode * sourceNode = 0,
const LocatorType * locator = 0 ) const [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.

Reimplemented from XPathExecutionContext.

XalanDocument * XPathExecutionContextDefault::parseXML ( MemoryManagerType & theManager,
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.

void XPathExecutionContextDefault::popContextNodeList ( ) [virtual]
 

Pop the node list for current context.

Reimplemented from XPathExecutionContext.

void XPathExecutionContextDefault::popCurrentNode ( ) [virtual]
 

Reset the node currently being executed.

Reimplemented from XPathExecutionContext.

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

Push the node list for current context.

Parameters:
theList   new node list

Reimplemented from XPathExecutionContext.

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

Change the node currently being executed.

Parameters:
theCurrentNode   new current node

Reimplemented from XPathExecutionContext.

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

Return a cached string.

Parameters:
theString   The string to release.

Returns:
true if the string was released successfully.

Reimplemented from XPathExecutionContext.

void XPathExecutionContextDefault::reset ( ) [virtual]
 

Reset the instance.

This must be called before another execution is attempted.

Reimplemented from XPathExecutionContext.

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.

void XPathExecutionContextDefault::setDOMSupport ( DOMSupport * theDOMSupport )
 

Set the DOMSupport instance.

Parameters:
theDOMSupport   a reference to the instance to use.

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

Change the resolver for namespaces.

Parameters:
thePrefixResolver   new object for namespace resolution

Reimplemented from XPathExecutionContext.

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.

void XPathExecutionContextDefault::setXObjectFactory ( XObjectFactory * theXObjectFactory )
 

Set the XObjectFactory instance.

Parameters:
theFactory   a reference to the instance to use.

void XPathExecutionContextDefault::setXPathEnvSupport ( XPathEnvSupport * theSupport )
 

Set the XPathEnvSupport instance.

Parameters:
theSupport   a reference to the instance to use.

bool XPathExecutionContextDefault::shouldStripSourceNode ( const XalanText & 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.

void XPathExecutionContextDefault::warn ( const XalanDOMString & msg,
const XalanNode * sourceNode = 0,
const LocatorType * locator = 0 ) const [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.

Reimplemented from XPathExecutionContext.


Member Data Documentation

ContextNodeListPositionCache XPathExecutionContextDefault::m_cachedPosition [mutable, protected]
 

ContextNodeListStackType XPathExecutionContextDefault::m_contextNodeListStack [protected]
 

CurrentNodeStackType XPathExecutionContextDefault::m_currentNodeStack [protected]
 

XalanDOMString XPathExecutionContextDefault::m_currentPattern [protected]
 

DOMSupport * XPathExecutionContextDefault::m_domSupport [protected]
 

NodeListCacheType XPathExecutionContextDefault::m_nodeListCache [protected]
 

const PrefixResolver * XPathExecutionContextDefault::m_prefixResolver [protected]
 

XalanQNameByValue XPathExecutionContextDefault::m_scratchQName [mutable, protected]
 

XalanDOMStringCache XPathExecutionContextDefault::m_stringCache [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.

dot

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

Apache Logo