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  

XPathExecutionContext Class Reference

#include <XPathExecutionContext.hpp>

Inheritance diagram for XPathExecutionContext:

Inheritance graph
[legend]
Collaboration diagram for XPathExecutionContext:

Collaboration graph
[legend]
List of all members.

Public Types

Public Methods

Protected Attributes


Member Typedef Documentation

typedef GetAndReleaseCachedString XPathExecutionContext::GetCachedString
 

typedef XalanVector< XObjectPtr > XPathExecutionContext::XObjectArgVectorType<XObjectPtr>
 

typedef NodeRefListBase::size_type XPathExecutionContext::size_type
 


Constructor & Destructor Documentation

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

XPathExecutionContext::~XPathExecutionContext ( ) [virtual]
 


Member Function Documentation

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

Borrow a cached MutableNodeRefList instance.

Returns:
A pointer to the instance.

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Create a MutableNodeRefList with the appropriate context.

Returns:
pointer to node list created

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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.

Reimplemented from ExecutionContext.

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Get a cached string for temporary use.

Returns:
A reference to the string

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Get the node list for current context.

Returns:
node list

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Retrieve the node currently being executed.

Returns:
current node

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Retrieve the resolver for namespaces.

Returns:
object for namespace resolution

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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.

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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.

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

XObjectFactory & XPathExecutionContext::getXObjectFactory ( ) const
 

Retrieve the factory object for creating XObjects.

Returns:
factory object instance

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.

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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.

Reimplemented from ExecutionContext.

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

void XPathExecutionContext::popContextNodeList ( ) [pure virtual]
 

Pop the node list for current context.

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

void XPathExecutionContext::popCurrentNode ( ) [pure virtual]
 

Reset the node currently being executed.

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Push the node list for current context.

Parameters:
theList   new node list

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Change the node currently being executed.

Parameters:
theCurrentNode   new current node

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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.

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

void XPathExecutionContext::reset ( ) [pure virtual]
 

Reset the instance.

This must be called before another execution is attempted.

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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.

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Change the resolver for namespaces.

Parameters:
thePrefixResolver   new object for namespace resolution

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Associate a document with a given URI.

Parameters:
theURI   document URI
theDocument   source document

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.

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.

Reimplemented from ExecutionContext.

Reimplemented in XPathExecutionContextDefault, and StylesheetExecutionContext.


Member Data Documentation

XObjectFactory * XPathExecutionContext::m_xobjectFactory [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