Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.6

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

XPath Class Reference

#include <XPath.hpp>

Collaboration diagram for XPath:

List of all members.

Public Types

Public Methods

Static Public Methods

Static Public Attributes

Protected Methods


Member Typedef Documentation

typedef XPathFunctionTable XPath::FunctionTableType

typedef XERCES_CPP_NAMESPACE_QUALIFIER Locator XPath::LocatorType

typedef void (FormatterListener::* XPath::MemberFunctionPtr)(const XMLCh* const, const unsigned int)

typedef std::vector<TargetData> XPath::TargetDataVectorType


Member Enumeration Documentation

enum XPath::eMatchScore

Enumeration values:
eMatchScoreNone  
eMatchScoreNodeTest  
eMatchScoreNSWild  
eMatchScoreQName  
eMatchScoreOther  

Constructor & Destructor Documentation

XPath::XPath ( const LocatorType * theLocator = 0 ) [explicit]

Construct an XPath.

Parameters:
theLocator   The applicable LocatorType, if any.

XPath::~XPath ( )


Member Function Documentation

bool XPath::And ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

OR two expressions and return the boolean result.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
true if the two arguments are both true.

bool XPath::Or ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

OR two expressions and return the boolean result.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
true if the one of the two arguments are true.

void XPath::Union ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
MutableNodeRefList & result ) const [protected]

Computes the union of its operands which must be node-sets.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the union of node-set operands.

void XPath::Union ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const [protected]

Computes the union of its operands which must be node-sets.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
formatterListener   the FormatterListener instance to receive the result
function   A pointer to the member function of FormatterListener to call

void XPath::Union ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
XalanDOMString & result ) const [protected]

Computes the union of its operands which must be node-sets.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the union of node-set operands.

void XPath::Union ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
double & result ) const [protected]

Computes the union of its operands which must be node-sets.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the union of node-set operands.

void XPath::Union ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
bool & result ) const [protected]

Computes the union of its operands which must be node-sets.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the union of node-set operands.

const XObjectPtr XPath::Union ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Computes the union of its operands which must be node-sets.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the union of node-set operands.

void XPath::destroyTable ( ) [static]

void XPath::div ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const [protected]

Divide a number.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
formatterListener   the FormatterListener instance to receive the result
function   A pointer to the member function of FormatterListener to call

double XPath::div ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Divide a number.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
arg1 / arg2.

void XPath::doGetMatchScore ( XalanNode * context,
XPathExecutionContext & executionContext,
eMatchScore & score ) const [protected]

Helper function to get match score.

Parameters:
context   The current source tree context node.
executionContext   The current execution context
score   The match score

bool XPath::equals ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Tell if two expressions are functionally equal.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
true if the two arguments are equal.

XObjectPtr XPath::execute ( const PrefixResolver & prefixResolver,
XPathExecutionContext & executionContext,
MutableNodeRefList & result ) const []

Execute the XPath from the provided context.

Normally, the expression will be evaluated and the result placed in the parameter result. However, some cases (such as the evalution of a variable) could result in the copying of a node-set, which is extremely expensive. In that case, the return value will contain the result of the evaluation. If the call to XObject::null() on the return value is true, that indicates the value was executed directly into the parameter. Otherwise, the parameter will be empty, and the result will be in the XObject instance returned.

The current node must already be set execution context, and must not be 0.

Parameters:
executionContext   current execution context
prefixResolver   prefix resolver to use
result   A node list for the result. This may or may not contain the actual result.
Returns:
the node-set result, if the result was not returned in the parameter

void XPath::execute ( const PrefixResolver & prefixResolver,
XPathExecutionContext & executionContext,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const []

Execute the XPath from the provided context.

Parameters:
prefixResolver   prefix resolver to use
executionContext   current execution context
formatterListener   the FormatterListener instance to receive the result
function   A pointer to the member function of FormatterListener to call

void XPath::execute ( const PrefixResolver & prefixResolver,
XPathExecutionContext & executionContext,
XalanDOMString & result ) const []

Execute the XPath from the provided context.

The result is appended to the supplied string.

The current node must already be set execution context, and must not be 0.

Parameters:
executionContext   current execution context
prefixResolver   prefix resolver to use
result   the string result

void XPath::execute ( const PrefixResolver & prefixResolver,
XPathExecutionContext & executionContext,
double & result ) const []

Execute the XPath from the provided context.

The current node must already be set execution context, and must not be 0.

Parameters:
executionContext   current execution context
prefixResolver   prefix resolver to use
result   the numeric result

void XPath::execute ( const PrefixResolver & prefixResolver,
XPathExecutionContext & executionContext,
bool & result ) const []

Execute the XPath from the provided context.

The current node must already be set execution context, and must not be 0.

Parameters:
executionContext   current execution context
prefixResolver   prefix resolver to use
result   the boolean result

const XObjectPtr XPath::execute ( const PrefixResolver & prefixResolver,
XPathExecutionContext & executionContext ) const []

Execute the XPath from the provided context.

The current node must already be set execution context, and must not be 0.

Parameters:
executionContext   current execution context
prefixResolver   prefix resolver to use
Returns:
smart-pointer to result XObject

const XObjectPtr XPath::execute ( XPathExecutionContext & executionContext,
MutableNodeRefList & result ) const []

Execute the XPath from the provided context.

Normally, the expression will be evaluated and the result placed in the parameter result. However, some cases (such as the evalution of a variable) could result in the copying of a node-set, which is extremely expensive. In that case, the return value will contain the result of the evaluation. If the call to XObject::null() on the return value is true, that indicates the value was executed directly into the parameter. Otherwise, the parameter will be empty, and the result will be in the XObject instance returned.

The prefix resolver and current node must already be set execution context, and must not be 0.

Parameters:
executionContext   current execution context
result   A node list for the result. This may or may not contain the actual result.
Returns:
the node-set result, if the result was not returned in the parameter

void XPath::execute ( XPathExecutionContext & executionContext,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const []

Execute the XPath from the provided context.

The prefix resolver and current node must already be set execution context, and must not be 0.

Parameters:
executionContext   current execution context
formatterListener   the FormatterListener instance to receive the result
function   A pointer to the member function of FormatterListener to call

void XPath::execute ( XPathExecutionContext & executionContext,
XalanDOMString & result ) const []

Execute the XPath from the provided context.

The result is appended to the supplied string.

The prefix resolver and current node must already be set execution context, and must not be 0.

Parameters:
executionContext   current execution context
result   the string result

void XPath::execute ( XPathExecutionContext & executionContext,
double & result ) const []

Execute the XPath from the provided context.

The prefix resolver must already be set in the execution context.

Parameters:
executionContext   current execution context
result   the numeric result

void XPath::execute ( XPathExecutionContext & executionContext,
bool & result ) const []

Execute the XPath from the provided context.

The prefix resolver and current node must already be set execution context, and must not be 0.

Parameters:
executionContext   current execution context
result   the boolean result

const XObjectPtr XPath::execute ( XPathExecutionContext & executionContext ) const []

Execute the XPath from the provided context.

The prefix resolver and current node must already be set execution context, and must not be 0.

Parameters:
executionContext   current execution context
Returns:
smart-pointer to result XObject

const XObjectPtr XPath::execute ( XalanNode * context,
const PrefixResolver & prefixResolver,
const NodeRefListBase & contextNodeList,
XPathExecutionContext & executionContext,
MutableNodeRefList & result ) const []

Execute the XPath from the provided context.

Normally, the expression will be evaluated and the result placed in the parameter result. However, some cases (such as the evalution of a variable) could result in the copying of a node-set, which is extremely expensive. In that case, the return value will contain the result of the evaluation. If the call to XObject::null() on the return value is true, that indicates the value was executed directly into the parameter. Otherwise, the parameter will be empty, and the result will be in the XObject instance returned.

Parameters:
context   current source tree context node, which must not be 0
prefixResolver   prefix resolver to use
contextNodeList   node list for current context
executionContext   current execution context
result   the result as a set of nodes
Returns:
the node-set result, if the result was not returned in the parameter

void XPath::execute ( XalanNode * context,
const PrefixResolver & prefixResolver,
const NodeRefListBase & contextNodeList,
XPathExecutionContext & executionContext,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const []

Execute the XPath from the provided context.

Parameters:
context   current source tree context node, which must not be 0
prefixResolver   prefix resolver to use
contextNodeList   node list for current context
executionContext   current execution context
formatterListener   the FormatterListener instance to receive the result
function   A pointer to the member function of FormatterListener to call

void XPath::execute ( XalanNode * context,
const PrefixResolver & prefixResolver,
const NodeRefListBase & contextNodeList,
XPathExecutionContext & executionContext,
XalanDOMString & result ) const []

Execute the XPath from the provided context.

The result is appended to the supplied string.

Parameters:
context   current source tree context node, which must not be 0
prefixResolver   prefix resolver to use
contextNodeList   node list for current context
executionContext   current execution context
result   the string result

void XPath::execute ( XalanNode * context,
const PrefixResolver & prefixResolver,
const NodeRefListBase & contextNodeList,
XPathExecutionContext & executionContext,
double & result ) const []

Execute the XPath from the provided context.

Parameters:
context   current source tree context node, which must not be 0
prefixResolver   prefix resolver to use
contextNodeList   node list for current context
executionContext   current execution context
result   the numeric result

void XPath::execute ( XalanNode * context,
const PrefixResolver & prefixResolver,
const NodeRefListBase & contextNodeList,
XPathExecutionContext & executionContext,
bool & result ) const []

Execute the XPath from the provided context.

Parameters:
context   current source tree context node, which must not be 0
prefixResolver   prefix resolver to use
contextNodeList   node list for current context
executionContext   current execution context
result   the boolean result

const XObjectPtr XPath::execute ( XalanNode * context,
const PrefixResolver & prefixResolver,
const NodeRefListBase & contextNodeList,
XPathExecutionContext & executionContext ) const []

Execute the XPath from the provided context.

Parameters:
context   current source tree context node, which must not be 0
prefixResolver   prefix resolver to use
contextNodeList   node list for current context
executionContext   current execution context
Returns:
smart-pointer to result XObject

const XObjectPtr XPath::execute ( XalanNode * context,
const PrefixResolver & prefixResolver,
XPathExecutionContext & executionContext,
MutableNodeRefList & result ) const

Execute the XPath from the provided context.

Normally, the expression will be evaluated and the result placed in the parameter result. However, some cases (such as the evalution of a variable) could result in the copying of a node-set, which is extremely expensive. In that case, the return value will contain the result of the evaluation. If the call to XObject::null() on the return value is true, that indicates the value was executed directly into the parameter. Otherwise, the parameter will be empty, and the result will be in the XObject instance returned.

Parameters:
context   current source tree context node, which must not be 0
prefixResolver   prefix resolver to use
executionContext   current execution context
result   the node-set result
Returns:
the node-set result, if the result was not returned in the parameter

void XPath::execute ( XalanNode * context,
const PrefixResolver & prefixResolver,
XPathExecutionContext & executionContext,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const

Execute the XPath from the provided context.

Parameters:
context   current source tree context node, which must not be 0
prefixResolver   prefix resolver to use
executionContext   current execution context
formatterListener   the FormatterListener instance to receive the result
function   A pointer to the member function of FormatterListener to call

void XPath::execute ( XalanNode * context,
const PrefixResolver & prefixResolver,
XPathExecutionContext & executionContext,
XalanDOMString & result ) const

Execute the XPath from the provided context.

The result is appended to the supplied string.

Parameters:
context   current source tree context node, which must not be 0
prefixResolver   prefix resolver to use
executionContext   current execution context
result   the string result

void XPath::execute ( XalanNode * context,
const PrefixResolver & prefixResolver,
XPathExecutionContext & executionContext,
double & result ) const

Execute the XPath from the provided context.

Parameters:
context   current source tree context node, which must not be 0
prefixResolver   prefix resolver to use
executionContext   current execution context
result   the numeric result

void XPath::execute ( XalanNode * context,
const PrefixResolver & prefixResolver,
XPathExecutionContext & executionContext,
bool & result ) const

Execute the XPath from the provided context.

Parameters:
context   current source tree context node, which must not be 0
prefixResolver   prefix resolver to use
executionContext   current execution context
result   the boolean result

const XObjectPtr XPath::execute ( XalanNode * context,
const PrefixResolver & prefixResolver,
XPathExecutionContext & executionContext ) const

Execute the XPath from the provided context.

Parameters:
context   current source tree context node, which must not be 0
prefixResolver   prefix resolver to use
executionContext   current execution context
Returns:
smart-pointer to result XObject

const XObjectPtr XPath::executeMore ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
MutableNodeRefList & theResult ) const [protected]

Execute the XPath from the provided context.

Parameters:
context   current source tree context node
opPos   current position in the m_opMap array
executionContext   current execution context
theResult   The result of the execution
Returns:
the node-set result, if the result was not returned in the parameter

void XPath::executeMore ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const [protected]

Execute the XPath from the provided context.

Parameters:
context   current source tree context node
opPos   current position in the m_opMap array
executionContext   current execution context
formatterListener   the FormatterListener instance to receive the result
function   A pointer to the member function of FormatterListener to call

void XPath::executeMore ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
XalanDOMString & theResult ) const [protected]

Execute the XPath from the provided context.

The result is appended to the supplied string.

Parameters:
context   current source tree context node
opPos   current position in the m_opMap array
executionContext   current execution context
theResult   The result of the execution

void XPath::executeMore ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
double & theResult ) const [protected]

Execute the XPath from the provided context.

Parameters:
context   current source tree context node
opPos   current position in the m_opMap array
executionContext   current execution context
theResult   The result of the execution

void XPath::executeMore ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
bool & theResult ) const [protected]

Execute the XPath from the provided context.

Parameters:
context   current source tree context node
opPos   current position in the m_opMap array
executionContext   current execution context
theResult   The result of the execution

const XObjectPtr XPath::executeMore ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Execute the XPath from the provided context.

Parameters:
context   current source tree context node
opPos   current position in the m_opMap array
executionContext   current execution context
Returns:
pointer to union of node-set operands

const XObjectPtr XPath::extfunction ( XalanNode * context,
int,
const XalanDOMString & theNamespace,
const XalanDOMString & functionName,
const Function::XObjectArgVectorType & argVec,
XPathExecutionContext & executionContext ) const [protected]

Handle an extension function.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
theNamespace   The namespace of the function.
functionName   The name of the function.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the function.

int XPath::findAncestors ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
int stepType,
MutableNodeRefList & subQueryResults ) const [protected]

int XPath::findAncestorsOrSelf ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
int stepType,
MutableNodeRefList & subQueryResults ) const [protected]

int XPath::findAttributes ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
int stepType,
MutableNodeRefList & subQueryResults ) const [protected]

int XPath::findChildren ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
int stepType,
MutableNodeRefList & subQueryResults ) const [protected]

int XPath::findDescendants ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
int stepType,
MutableNodeRefList & subQueryResults ) const [protected]

int XPath::findFollowing ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
int stepType,
MutableNodeRefList & subQueryResults ) const [protected]

int XPath::findFollowingSiblings ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
int stepType,
MutableNodeRefList & subQueryResults ) const [protected]

int XPath::findNamespace ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
int stepType,
MutableNodeRefList & subQueryResults ) const [protected]

int XPath::findNodeSet ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
int stepType,
MutableNodeRefList & subQueryResults ) const [protected]

int XPath::findNodesOnUnknownAxis ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
int stepType,
MutableNodeRefList & subQueryResults ) const [protected]

int XPath::findParent ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
int stepType,
MutableNodeRefList & subQueryResults ) const [protected]

int XPath::findPreceeding ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
int stepType,
MutableNodeRefList & subQueryResults ) const [protected]

int XPath::findPreceedingSiblings ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
int stepType,
MutableNodeRefList & subQueryResults ) const [protected]

int XPath::findRoot ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
int stepType,
MutableNodeRefList & subQueryResults ) const [protected]

int XPath::findSelf ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
int stepType,
MutableNodeRefList & subQueryResults ) const [protected]

const XObjectPtr XPath::function ( XalanNode * context,
int funcID,
const Function::XObjectArgVectorType & argVec,
XPathExecutionContext & executionContext ) const [protected]

Handle a built-in function.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
argVec   The arguments for the function.
executionContext   current execution context
Returns:
the result of the function.

bool XPath::functionBoolean ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Handle the built-in function "boolean".

Parameters:
context   The current source tree context node, which must not be 0.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the function.

double XPath::functionCeiling ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Handle the built-in function "ceiling".

Parameters:
context   The current source tree context node, which must not be 0.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the function.

double XPath::functionCount ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Handle the built-in function "count".

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the function.

double XPath::functionFloor ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Handle the built-in function "floor".

Parameters:
context   The current source tree context node, which must not be 0.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the function.

double XPath::functionLast ( XPathExecutionContext & executionContext ) const [protected]

Handle the built-in function "last".

Parameters:
executionContext   current execution context
Returns:
the result of the function.

const XalanDOMString & XPath::functionLocalName ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Handle the built-in function "local-name".

Parameters:
context   The current source tree context node, which must not be 0.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the function.

const XalanDOMString & XPath::functionLocalName ( XalanNode * context ) const [protected]

Handle the built-in function "local-name".

Parameters:
context   The current source tree context node, which must not be 0.
Returns:
the result of the function.

const XalanDOMString & XPath::functionName ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Handle the built-in function "name".

Parameters:
context   The current source tree context node, which must not be 0.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the function.

const XalanDOMString & XPath::functionName ( XalanNode * context ) const [protected]

Handle the built-in function "name".

Parameters:
context   The current source tree context node, which must not be 0.
Returns:
the result of the function.

bool XPath::functionNot ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Handle the built-in function "not".

Parameters:
context   The current source tree context node, which must not be 0.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the function.

double XPath::functionNumber ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Handle the built-in function "number".

Parameters:
context   The current source tree context node, which must not be 0.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the function.

double XPath::functionNumber ( XalanNode * context,
XPathExecutionContext & executionContext ) const [protected]

Handle the built-in function "number".

Parameters:
context   The current source tree context node, which must not be 0.
executionContext   current execution context
Returns:
the result of the function.

double XPath::functionPosition ( XalanNode * context,
XPathExecutionContext & executionContext ) const [protected]

Handle the built-in function "position".

Parameters:
context   The current source tree context node, which must not be 0.
executionContext   current execution context
Returns:
the result of the function.

double XPath::functionRound ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Handle the built-in function "round".

Parameters:
context   The current source tree context node, which must not be 0.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the function.

double XPath::functionStringLength ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Handle the built-in function "string-length".

Parameters:
context   The current source tree context node, which must not be 0.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the function.

double XPath::functionStringLength ( XalanNode * context ) const [protected]

Handle the built-in function "string-length".

Parameters:
context   The current source tree context node, which must not be 0.
Returns:
the result of the function.

double XPath::functionSum ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Handle the built-in function "sum".

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the function.

const XPathExpression & XPath::getExpression ( ) const []

Retrieve a reference to the current expression.

Returns:
current expression

XPathExpression & XPath::getExpression ( ) []

Retrieve a reference to the current expression.

Returns:
current expression

const FunctionTableType & XPath::getFunctionTable ( ) [static]

Retrieve the table of installed functions.

Returns:
function table

bool XPath::getInStylesheet ( ) const []

template<classOutputIteratorType>
void XPath::getInstalledFunctionNames ( OutputIteratorType theIterator ) [static]

Add the names for the installed functions to a vector strings.

Parameters:
theIterator   vector added to

const LocatorType * XPath::getLocator ( ) const []

eMatchScore XPath::getMatchScore ( XalanNode * node,
const PrefixResolver & resolver,
XPathExecutionContext & executionContext ) const

Get the match score for the specified node.

Parameters:
node   The node for the score
resolver   The prefix resolver
executionContext   current execution context
Returns:
union of node-set operands

eMatchScore XPath::getMatchScore ( XalanNode * node,
XPathExecutionContext & executionContext ) const

Get the match score for the specified node.

Parameters:
node   The node for the score
executionContext   current execution context
Returns:
union of node-set operands

double XPath::getMatchScoreValue ( eMatchScore score ) [static]

double XPath::getNumericOperand ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Get a numeric operand for an expression.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
The value of the operand.

void XPath::getTargetData ( TargetDataVectorType & targetData ) const

Add the data for the target of match pattern to a vector.

Parameters:
targetData   The vector for the data

void XPath::group ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
MutableNodeRefList & theResult ) const [protected]

Execute an expression as a group.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
theResult   The result of the execution

void XPath::group ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const [protected]

Execute an expression as a group.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
formatterListener   the FormatterListener instance to receive the result
function   A pointer to the member function of FormatterListener to call

void XPath::group ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
XalanDOMString & theResult ) const [protected]

Execute an expression as a group.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
theResult   The result of the execution

void XPath::group ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
double & theResult ) const [protected]

Execute an expression as a group.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
theResult   The result of the execution

void XPath::group ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
bool & theResult ) const [protected]

Execute an expression as a group.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
theResult   The result of the execution

const XObjectPtr XPath::group ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Execute an expression as a group.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
arg.

bool XPath::gt ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Tell if one argument is greater than the other argument.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
true if arg 1 is greater than arg 2.

bool XPath::gte ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Tell if one argument is greater than or equal to the other argument.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
true if arg 1 is greater than or equal to arg 2.

eMatchScore XPath::handleFoundIndex ( XPathExecutionContext & executionContext,
XalanNode * localContext,
int startOpPos ) const [protected]

eMatchScore XPath::handleFoundIndexPositional ( XPathExecutionContext & executionContext,
XalanNode * localContext,
int startOpPos ) const [protected]

void XPath::initialize ( ) [static]

Perform static initialization.

See class XPathInit.

void XPath::installFunction ( const XalanDOMChar * funcName,
const Function & func ) [static]

Install a built-in function.

Parameters:
funcName   unqualified name of the function
func   instance of an XPath function object

void XPath::installFunction ( const XalanDOMString & funcName,
const Function & func ) [static]

Install a built-in function.

Parameters:
funcName   unqualified name of the function
func   instance of an XPath function object

bool XPath::isInstalledFunction ( const XalanDOMString & theFunctionName ) [static]

Whether the named function is installed in the function table.

Parameters:
name   of function
Returns:
true if the function has been installed

void XPath::literal ( int opPos,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const [protected]

Get a literal value.

Parameters:
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
The result as a double.

void XPath::literal ( int opPos,
XalanDOMString & theResult ) const [protected]

Get a literal value.

The value is appended to the supplied string.

Parameters:
opPos   The current position in the m_opMap array.
theResult   The string.

void XPath::literal ( int opPos,
double & theResult ) const [protected]

Get a literal value as a number.

Parameters:
opPos   The current position in the m_opMap array.
theResult   The value.

void XPath::literal ( int opPos,
bool & theResult ) const [protected]

Get a literal value as a boolean.

Parameters:
opPos   The current position in the m_opMap array.
theResult   The value.

const XObjectPtr XPath::literal ( int opPos,
XPathExecutionContext & executionContext ) const [protected]

Get a literal value.

Parameters:
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
an XObject object.

void XPath::locationPath ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
MutableNodeRefList & theResult ) const [protected]

Execute a location path.

Parameters:
context   current source tree context node
opPos   current position in the m_opMap array
executionContext   current execution context
theResult   the result as a node list

void XPath::locationPath ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const [protected]

Execute a location path.

Parameters:
context   current source tree context node
opPos   current position in the m_opMap array
executionContext   current execution context
formatterListener   the FormatterListener instance to receive the result
function   A pointer to the member function of FormatterListener to call

void XPath::locationPath ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
XalanDOMString & theResult ) const [protected]

Execute a location path.

Parameters:
context   current source tree context node
opPos   current position in the m_opMap array
executionContext   current execution context
theResult   the result as a node list

void XPath::locationPath ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
double & theResult ) const [protected]

Execute a location path.

Parameters:
context   current source tree context node
opPos   current position in the m_opMap array
executionContext   current execution context
theResult   the result as a node list

void XPath::locationPath ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
bool & theResult ) const [protected]

Execute a location path.

Parameters:
context   current source tree context node
opPos   current position in the m_opMap array
executionContext   current execution context
theResult   the result as a node list

const XObjectPtr XPath::locationPath ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Execute a location path.

Parameters:
context   current source tree context node
opPos   current position in the m_opMap array
executionContext   current execution context
Returns:
node-set

bool XPath::lt ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Tell if one argument is less than the other argument.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
true if arg 1 is less than arg 2.

bool XPath::lte ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Tell if one argument is less than or equal to the other argument.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
true if arg 1 is less than or equal to arg 2.

void XPath::minus ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const [protected]

Give the difference of two arguments.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
formatterListener   the FormatterListener instance to receive the result
function   A pointer to the member function of FormatterListener to call

double XPath::minus ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Give the difference of two arguments.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
difference of arg1 and arg2.

void XPath::mod ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const [protected]

Return the remainder from a truncating division.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
formatterListener   the FormatterListener instance to receive the result
function   A pointer to the member function of FormatterListener to call

double XPath::mod ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Return the remainder from a truncating division.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
arg1 mod arg2.

void XPath::mult ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const [protected]

Multiply two arguments.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
formatterListener   the FormatterListener instance to receive the result
function   A pointer to the member function of FormatterListener to call

double XPath::mult ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Multiply two arguments.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
arg1 * arg2.

void XPath::neg ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const [protected]

Return the negation of a number.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
formatterListener   the FormatterListener instance to receive the result
function   A pointer to the member function of FormatterListener to call

double XPath::neg ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Return the negation of a number.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
-arg.

eMatchScore XPath::nodeTest ( XPathExecutionContext & executionContext,
XalanNode * context,
XalanNode::NodeType nodeType,
int opPos,
int argLen,
int stepType ) const [protected]

bool XPath::notequals ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Tell if two expressions are functionally not equal.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
true if the two arguments are not equal.

void XPath::numberlit ( int opPos,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const [protected]

Get a literal value.

Parameters:
opPos   The current position in the m_opMap array.
formatterListener   the FormatterListener instance to receive the result
function   A pointer to the member function of FormatterListener to call

void XPath::numberlit ( int opPos,
XalanDOMString & theResult ) const [protected]

Get a literal value.

The value is appended to the supplied string.

Parameters:
opPos   The current position in the m_opMap array.
theResult   The string.

void XPath::numberlit ( int opPos,
bool & theResult ) const [protected]

Get a literal value as a boolean.

Parameters:
opPos   The current position in the m_opMap array.
theResult   The string.

const XObjectPtr XPath::numberlit ( int opPos,
XPathExecutionContext & executionContext ) const [protected]

Get a literal value.

Parameters:
opPos   The current position in the m_opMap array.
Returns:
The result as a double.

double XPath::numberlit ( int opPos ) const [protected]

Get a literal value.

Parameters:
opPos   The current position in the m_opMap array.
Returns:
The result as a double.

void XPath::plus ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext,
FormatterListener & formatterListener,
MemberFunctionPtr function ) const [protected]

Give the sum of two arguments.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
formatterListener   the FormatterListener instance to receive the result
function   A pointer to the member function of FormatterListener to call

double XPath::plus ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Give the sum of two arguments.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
sum of arg1 and arg2.

const XObjectPtr XPath::predicate ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const []

Evaluate a predicate.

Parameters:
context   current source tree context node
opPos   current position in the m_opMap array
executionContext   current execution context
Returns:
pointer to either a boolean or a number

int XPath::predicates ( XPathExecutionContext & executionContext,
int opPos,
MutableNodeRefList & subQueryResults ) const [protected]

const XObjectPtr XPath::runExtFunction ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Setup for and run an extension function.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the function.

const XObjectPtr XPath::runFunction ( XalanNode * context,
int opPos,
XPathExecutionContext & executionContext ) const [protected]

Setup for and run a function.

Parameters:
context   The current source tree context node.
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
the result of the function.

void XPath::setInStylesheet ( bool fValue ) []

void XPath::setLocator ( const LocatorType * theLocator ) []

void XPath::shrink ( ) []

Shrink internal tables.

void XPath::step ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
MutableNodeRefList & queryResults ) const [protected]

XalanNode * XPath::stepPattern ( XPathExecutionContext & executionContext,
XalanNode * context,
int opPos,
eMatchScore & scoreHolder ) const [protected]

Execute a step in a location path.

Parameters:
xpath   The xpath that is executing
context   The current source tree context node
opPos   The current position in the xpath operation map array
scoreHolder   a reference to an eMatchScore to receive the result.
Returns:
the last matched context node

void XPath::terminate ( ) [static]

Perform static shut down.

See class XPathInit.

bool XPath::uninstallFunction ( const XalanDOMChar * funcName ) [static]

Remove a named function from the function table.

Parameters:
funcName   name of function
Returns:
true if the function was found and removed.

bool XPath::uninstallFunction ( const XalanDOMString & funcName ) [static]

Remove a named function from the function table.

Parameters:
funcName   name of function
Returns:
true if the function was found and removed.

const XObjectPtr XPath::variable ( int opPos,
XPathExecutionContext & executionContext ) const [protected]

Get the value of a variable.

Parameters:
opPos   The current position in the m_opMap array.
executionContext   current execution context
Returns:
an XObject object.

Member Data Documentation

const XalanDOMChar XPath::PSEUDONAME_ANY[] [static]

const XalanDOMChar XPath::PSEUDONAME_COMMENT[] [static]

const XalanDOMChar XPath::PSEUDONAME_NODE[] [static]

const XalanDOMChar XPath::PSEUDONAME_OTHER[] [static]

const XalanDOMChar XPath::PSEUDONAME_PI[] [static]

const XalanDOMChar XPath::PSEUDONAME_ROOT[] [static]

const XalanDOMChar XPath::PSEUDONAME_TEXT[] [static]


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++ XSLT Processor Version 1.6
Copyright © 2000, 2001, 2002, 2003 The Apache Software Foundation. All Rights Reserved.