## 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

# XPath Class Reference

`#include <XPath.hpp>`

Collaboration diagram for XPath:

[legend]
List of all members.

## Public Types

- typedef XERCES_CPP_NAMESPACE_QUALIFIER
  Locator LocatorType
- typedef XPathExpression::OpCodeMapPositionType OpCodeMapPositionType
- typedef XPathExpression::OpCodeMapValueType OpCodeMapValueType
- typedef XPathExpression::TokenQueuePositionType TokenQueuePositionType
- typedef XPathExecutionContext::GetAndReleaseCachedString GetCachedString
- typedef XPathExecutionContext::PrefixResolverSetAndRestore PrefixResolverSetAndRestore
- typedef XPathExecutionContext::CurrentNodePushAndPop CurrentNodePushAndPop
- typedef XalanVector<TargetData> TargetDataVectorType
- typedef void (FormatterListener::* MemberFunctionPtr )(const XMLCh *const, const unsigned int)
- typedef XPathFunctionTable FunctionTableType
- enum eMatchScore {
  eMatchScoreNone, eMatchScoreNodeTest, eMatchScoreNSWild, eMatchScoreQName,
  eMatchScoreOther
  }

## Public Methods

- XPath (MemoryManagerType &theManager, const LocatorType *theLocator=0)
    Construct an XPath. More...
- MemoryManagerType& getMemoryManager ()
- ~XPath ()
- void shrink ()
    Shrink internal tables. More...
- const XObjectPtr execute (XalanNode *context, const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext) const
    Execute the XPath from the provided context. More...
- void execute (XalanNode *context, const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, bool &result) const
    Execute the XPath from the provided context. More...
- void execute (XalanNode *context, const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, double &result) const
    Execute the XPath from the provided context. More...
- void execute (XalanNode *context, const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, XalanDOMString &result) const
    Execute the XPath from the provided context. More...
- void execute (XalanNode *context, const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Execute the XPath from the provided context. More...
- const XObjectPtr execute (XalanNode *context, const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, MutableNodeRefList &result) const
    Execute the XPath from the provided context. More...
- const XObjectPtr execute (XalanNode *context, const PrefixResolver &prefixResolver, const NodeRefListBase &contextNodeList, XPathExecutionContext &executionContext) const
    Execute the XPath from the provided context. More...
- void execute (XalanNode *context, const PrefixResolver &prefixResolver, const NodeRefListBase &contextNodeList, XPathExecutionContext &executionContext, bool &result) const
    Execute the XPath from the provided context. More...
- void execute (XalanNode *context, const PrefixResolver &prefixResolver, const NodeRefListBase &contextNodeList, XPathExecutionContext &executionContext, double &result) const
    Execute the XPath from the provided context. More...
- void execute (XalanNode *context, const PrefixResolver &prefixResolver, const NodeRefListBase &contextNodeList, XPathExecutionContext &executionContext, XalanDOMString &result) const
    Execute the XPath from the provided context. More...
- void execute (XalanNode *context, const PrefixResolver &prefixResolver, const NodeRefListBase &contextNodeList, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Execute the XPath from the provided context. More...
- const XObjectPtr execute (XalanNode *context, const PrefixResolver &prefixResolver, const NodeRefListBase &contextNodeList, XPathExecutionContext &executionContext, MutableNodeRefList &result) const
    Execute the XPath from the provided context. More...
- const XObjectPtr execute (XPathExecutionContext &executionContext) const
    Execute the XPath from the provided context. More...
- void execute (XPathExecutionContext &executionContext, bool &result) const
    Execute the XPath from the provided context. More...
- void execute (XPathExecutionContext &executionContext, double &result) const
    Execute the XPath from the provided context. More...
- void execute (XPathExecutionContext &executionContext, XalanDOMString &result) const
    Execute the XPath from the provided context. More...
- void execute (XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Execute the XPath from the provided context. More...
- const XObjectPtr execute (XPathExecutionContext &executionContext, MutableNodeRefList &result) const
    Execute the XPath from the provided context. More...
- const XObjectPtr execute (const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext) const
    Execute the XPath from the provided context. More...
- void execute (const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, bool &result) const
    Execute the XPath from the provided context. More...
- void execute (const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, double &result) const
    Execute the XPath from the provided context. More...
- void execute (const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, XalanDOMString &result) const
    Execute the XPath from the provided context. More...
- void execute (const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Execute the XPath from the provided context. More...
- XObjectPtr execute (const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, MutableNodeRefList &result) const
    Execute the XPath from the provided context. More...
- XPathExpression& getExpression ()
    Retrieve a reference to the current expression. More...
- const XPathExpression& getExpression () const
    Retrieve a reference to the current expression. More...
- eMatchScore getMatchScore (XalanNode *node, XPathExecutionContext &executionContext) const
    Get the match score for the specified node. More...
- eMatchScore getMatchScore (XalanNode *node, const PrefixResolver &resolver, XPathExecutionContext &executionContext) const
    Get the match score for the specified node. More...
- const XObjectPtr predicate (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Evaluate a predicate. More...
- void getTargetData (TargetDataVectorType &targetData) const
    Add the data for the target of match pattern to a vector. More...
- bool getInStylesheet () const
- void setInStylesheet (bool fValue)
- const LocatorType* getLocator () const
- void setLocator (const LocatorType *theLocator)

## Static Public Methods

- void initialize (MemoryManagerType &theManager)
    Perform static initialization. More...
- void terminate ()
    Perform static shut down. More...
- XPath* create (MemoryManagerType &theManager, const LocatorType *theLocator=0)
- double getMatchScoreValue (eMatchScore score)
- void installFunction (const XalanDOMString &funcName, const Function &func)
    Install a built-in function. More...
- void installFunction (const XalanDOMChar *funcName, const Function &func)
    Install a built-in function. More...
- bool uninstallFunction (const XalanDOMString &funcName)
    Remove a named function from the function table. More...
- bool uninstallFunction (const XalanDOMChar *funcName)
    Remove a named function from the function table. More...
- bool isInstalledFunction (const XalanDOMString &theFunctionName)
    Whether the named function is installed in the function table. More...
- const FunctionTableType& getFunctionTable ()
    Retrieve the table of installed functions. More...
- template<class OutputIteratorType> void getInstalledFunctionNames (OutputIteratorType theIterator)
    Add the names for the installed functions to a vector strings. More...
- void destroyTable ()

## Static Public Attributes

- const XalanDOMChar PSEUDONAME_ANY []
- const XalanDOMChar PSEUDONAME_ROOT []
- const XalanDOMChar PSEUDONAME_TEXT []
- const XalanDOMChar PSEUDONAME_COMMENT []
- const XalanDOMChar PSEUDONAME_PI []
- const XalanDOMChar PSEUDONAME_OTHER []
- const XalanDOMChar PSEUDONAME_NODE []

## Protected Methods

- const XObjectPtr locationPath (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Execute a location path. More...
- void locationPath (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, bool &theResult) const
    Execute a location path. More...
- void locationPath (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, double &theResult) const
    Execute a location path. More...
- void locationPath (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, XalanDOMString &theResult) const
    Execute a location path. More...
- void locationPath (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Execute a location path. More...
- void locationPath (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, MutableNodeRefList &theResult) const
    Execute a location path. More...
- const XObjectPtr executeMore (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Execute the XPath from the provided context. More...
- void executeMore (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, bool &theResult) const
    Execute the XPath from the provided context. More...
- void executeMore (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, double &theResult) const
    Execute the XPath from the provided context. More...
- void executeMore (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, XalanDOMString &theResult) const
    Execute the XPath from the provided context. More...
- void executeMore (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Execute the XPath from the provided context. More...
- const XObjectPtr executeMore (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, MutableNodeRefList &theResult) const
    Execute the XPath from the provided context. More...
- void doGetMatchScore (XalanNode *context, XPathExecutionContext &executionContext, eMatchScore &score) const
    Helper function to get match score. More...
- bool Or (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    OR two expressions and return the boolean result. More...
- bool And (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    OR two expressions and return the boolean result. More...
- bool notequals (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Tell if two expressions are functionally not equal. More...
- bool equals (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Tell if two expressions are functionally equal. More...
- bool lte (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Tell if one argument is less than or equal to the other argument. More...
- bool lt (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Tell if one argument is less than the other argument. More...
- bool gte (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Tell if one argument is greater than or equal to the other argument. More...
- bool gt (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Tell if one argument is greater than the other argument. More...
- double plus (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Give the sum of two arguments. More...
- void plus (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Give the sum of two arguments. More...
- double minus (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Give the difference of two arguments. More...
- void minus (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Give the difference of two arguments. More...
- double mult (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Multiply two arguments. More...
- void mult (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Multiply two arguments. More...
- double div (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Divide a number. More...
- void div (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Divide a number. More...
- double mod (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Return the remainder from a truncating division. More...
- void mod (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Return the remainder from a truncating division. More...
- double neg (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Return the negation of a number. More...
- void neg (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Return the negation of a number. More...
- const XObjectPtr Union (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Computes the union of its operands which must be node-sets. More...
- void Union (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, bool &result) const
    Computes the union of its operands which must be node-sets. More...
- void Union (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, double &result) const
    Computes the union of its operands which must be node-sets. More...
- void Union (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, XalanDOMString &result) const
    Computes the union of its operands which must be node-sets. More...
- void Union (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Computes the union of its operands which must be node-sets. More...
- void Union (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, MutableNodeRefList &result) const
    Computes the union of its operands which must be node-sets. More...
- const XObjectPtr literal (OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Get a literal value. More...
- void literal (OpCodeMapPositionType opPos, bool &theResult) const
    Get a literal value as a boolean. More...
- void literal (OpCodeMapPositionType opPos, double &theResult) const
    Get a literal value as a number. More...
- void literal (OpCodeMapPositionType opPos, XalanDOMString &theResult) const
    Get a literal value. More...
- void literal (OpCodeMapPositionType opPos, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Get a literal value. More...
- const XObjectPtr variable (OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Get the value of a variable. More...
- const XObjectPtr group (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Execute an expression as a group. More...
- void group (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, bool &theResult) const
    Execute an expression as a group. More...
- void group (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, double &theResult) const
    Execute an expression as a group. More...
- void group (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, XalanDOMString &theResult) const
    Execute an expression as a group. More...
- void group (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Execute an expression as a group. More...
- void group (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, MutableNodeRefList &theResult) const
    Execute an expression as a group. More...
- double numberlit (OpCodeMapPositionType opPos) const
    Get a literal value. More...
- const XObjectPtr numberlit (OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Get a literal value. More...
- void numberlit (OpCodeMapPositionType opPos, bool &theResult) const
    Get a literal value as a boolean. More...
- void numberlit (OpCodeMapPositionType opPos, XalanDOMString &theResult) const
    Get a literal value. More...
- void numberlit (OpCodeMapPositionType opPos, FormatterListener &formatterListener, MemberFunctionPtr function) const
    Get a literal value. More...
- const XObjectPtr runExtFunction (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Setup for and run an extension function. More...
- const XObjectPtr extfunction (XalanNode *context, OpCodeMapPositionType, const XalanDOMString &theNamespace, const XalanDOMString &functionName, const Function::XObjectArgVectorType &argVec, XPathExecutionContext &executionContext) const
    Handle an extension function. More...
- const XObjectPtr runFunction (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Setup for and run a function. More...
- const XObjectPtr function (XalanNode *context, OpCodeMapValueType funcID, const Function::XObjectArgVectorType &argVec, XPathExecutionContext &executionContext) const
    Handle a built-in function. More...
- double functionPosition (XalanNode *context, XPathExecutionContext &executionContext) const
    Handle the built-in function "position". More...
- double functionLast (XPathExecutionContext &executionContext) const
    Handle the built-in function "last". More...
- double functionCount (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Handle the built-in function "count". More...
- bool functionNot (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Handle the built-in function "not". More...
- bool functionBoolean (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Handle the built-in function "boolean". More...
- const XalanDOMString& functionName (XalanNode *context) const
    Handle the built-in function "name". More...
- const XalanDOMString& functionName (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Handle the built-in function "name". More...
- const XalanDOMString& functionLocalName (XalanNode *context) const
    Handle the built-in function "local-name". More...
- const XalanDOMString& functionLocalName (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Handle the built-in function "local-name". More...
- double functionNumber (XalanNode *context, XPathExecutionContext &executionContext) const
    Handle the built-in function "number". More...
- double functionNumber (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Handle the built-in function "number". More...
- double functionFloor (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Handle the built-in function "floor". More...
- double functionCeiling (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Handle the built-in function "ceiling". More...
- double functionRound (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Handle the built-in function "round". More...
- double functionStringLength (XalanNode *context) const
    Handle the built-in function "string-length". More...
- double functionStringLength (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Handle the built-in function "string-length". More...
- double functionSum (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Handle the built-in function "sum". More...
- double getNumericOperand (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
    Get a numeric operand for an expression. More...
- void step (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, MutableNodeRefList &queryResults) const
- XalanNode* stepPattern (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, eMatchScore &scoreHolder) const
    Execute a step in a location path. More...
- OpCodeMapPositionType findNodeSet (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
- OpCodeMapPositionType findRoot (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
- OpCodeMapPositionType findParent (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
- OpCodeMapPositionType findSelf (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
- OpCodeMapPositionType findAncestors (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
- OpCodeMapPositionType findAncestorsOrSelf (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
- OpCodeMapPositionType findAttributes (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
- OpCodeMapPositionType findChildren (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
- OpCodeMapPositionType findDescendants (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
- OpCodeMapPositionType findFollowing (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
- OpCodeMapPositionType findFollowingSiblings (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
- OpCodeMapPositionType findPreceeding (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
- OpCodeMapPositionType findPreceedingSiblings (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
- OpCodeMapPositionType findNamespace (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
- OpCodeMapPositionType findNodesOnUnknownAxis (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
- eMatchScore nodeTest (XPathExecutionContext &executionContext, XalanNode *context, XalanNode::NodeType nodeType, OpCodeMapPositionType opPos, OpCodeMapValueType argLen, OpCodeMapValueType stepType) const
- OpCodeMapPositionType predicates (XPathExecutionContext &executionContext, OpCodeMapPositionType opPos, MutableNodeRefList &subQueryResults) const
- eMatchScore handleFoundIndex (XPathExecutionContext &executionContext, XalanNode *localContext, OpCodeMapPositionType startOpPos) const
- eMatchScore handleFoundIndexPositional (XPathExecutionContext &executionContext, XalanNode *localContext, OpCodeMapPositionType startOpPos) const

## Friends

- class NodeTester

## Member Typedef Documentation

typedef XPathExecutionContext::CurrentNodePushAndPop XPath::CurrentNodePushAndPop

typedef XPathFunctionTable XPath::FunctionTableType

typedef XPathExecutionContext::GetAndReleaseCachedString XPath::GetCachedString

typedef XERCES_CPP_NAMESPACE_QUALIFIER Locator XPath::LocatorType

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

typedef XPathExpression::OpCodeMapPositionType XPath::OpCodeMapPositionType

typedef XPathExpression::OpCodeMapValueType XPath::OpCodeMapValueType

typedef XPathExecutionContext::PrefixResolverSetAndRestore XPath::PrefixResolverSetAndRestore

typedef XalanVector< TargetData > XPath::TargetDataVectorType<TargetData>

typedef XPathExpression::TokenQueuePositionType XPath::TokenQueuePositionType

## Member Enumeration Documentation

enum XPath::eMatchScore

Enumeration values:

  eMatchScoreNone |
  eMatchScoreNodeTest |
  eMatchScoreNSWild |
  eMatchScoreQName |
  eMatchScoreOther |

## Constructor & Destructor Documentation

XPath::XPath ( | MemoryManagerType & theManager,
| 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,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  true if the two arguments are both true.

bool XPath::Or ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  true if the one of the two arguments are true.

void XPath::Union ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  the result of the union of node-set operands.

void XPath::Union ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  the result of the union of node-set operands.

void XPath::Union ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  the result of the union of node-set operands.

void XPath::Union ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  the result of the union of node-set operands.

const XObjectPtr XPath::Union ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  the union of node-set operands.

XPath * XPath::create ( | MemoryManagerType & theManager,
| const LocatorType * theLocator = 0 )`[static]`

void XPath::destroyTable ( | )`[static]`

void XPath::div ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType opPos,
| XPathExecutionContext & executionContext ) const`[protected]`

Divide a number.

Parameters:

  context | The current source tree context node.
  opPos | The current position in the Op Map.
  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,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType 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 Op Map
  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,
| OpCodeMapPositionType 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 Op Map
  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,
| OpCodeMapPositionType 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 Op Map
  executionContext | current execution context
  theResult | The result of the execution

void XPath::executeMore ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map
  executionContext | current execution context
  theResult | The result of the execution

void XPath::executeMore ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map
  executionContext | current execution context
  theResult | The result of the execution

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

Execute the XPath from the provided context.

Parameters:

  context | current source tree context node
  opPos | current position in the Op Map
  executionContext | current execution context

Returns:
  pointer to union of node-set operands

const XObjectPtr XPath::extfunction ( | XalanNode * context,
| OpCodeMapPositionType,
| 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 Op Map.
  theNamespace | The namespace of the function.
  functionName | The name of the function.
  executionContext | current execution context

Returns:
  the result of the function.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Handle a built-in function.

Parameters:

  context | The current source tree context node.
  funcID | The function ID.
  argVec | The arguments for the function.
  executionContext | current execution context

Returns:
  the result of the function.

bool XPath::functionBoolean ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  the result of the function.

double XPath::functionCeiling ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  the result of the function.

double XPath::functionCount ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  the result of the function.

double XPath::functionFloor ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  the result of the function.

double XPath::functionNumber ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  the result of the function.

double XPath::functionStringLength ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType 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 Op Map.
  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<class OutputIteratorType>
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]`

MemoryManagerType & XPath::getMemoryManager ( | )

double XPath::getNumericOperand ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context
  theResult | The result of the execution

void XPath::group ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context
  theResult | The result of the execution

void XPath::group ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context
  theResult | The result of the execution

void XPath::group ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context
  theResult | The result of the execution

const XObjectPtr XPath::group ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  arg.

bool XPath::gt ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  true if arg 1 is greater than arg 2.

bool XPath::gte ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  true if arg 1 is greater than or equal to arg 2.

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

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

void XPath::initialize ( | MemoryManagerType & theManager )`[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 ( | OpCodeMapPositionType opPos,
| FormatterListener & formatterListener,
| MemberFunctionPtr function ) const`[protected]`

Get a literal value.

Parameters:

  opPos | The current position in the Op Map.
  executionContext | current execution context

Returns:
  The result as a double.

void XPath::literal ( | OpCodeMapPositionType opPos,
| XalanDOMString & theResult ) const`[protected]`

Get a literal value.

The value is appended to the supplied string.

Parameters:

  opPos | The current position in the Op Map.
  theResult | The string.

void XPath::literal ( | OpCodeMapPositionType opPos,
| double & theResult ) const`[protected]`

Get a literal value as a number.

Parameters:

  opPos | The current position in the Op Map.
  theResult | The value.

void XPath::literal ( | OpCodeMapPositionType opPos,
| bool & theResult ) const`[protected]`

Get a literal value as a boolean.

Parameters:

  opPos | The current position in the Op Map.
  theResult | The value.

const XObjectPtr XPath::literal ( | OpCodeMapPositionType opPos,
| XPathExecutionContext & executionContext ) const`[protected]`

Get a literal value.

Parameters:

  opPos | The current position in the Op Map.
  executionContext | current execution context

Returns:
  an XObject object.

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

Execute a location path.

Parameters:

  context | current source tree context node
  opPos | current position in the Op Map
  executionContext | current execution context
  theResult | the result as a node list

void XPath::locationPath ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map
  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,
| OpCodeMapPositionType opPos,
| XPathExecutionContext & executionContext,
| XalanDOMString & theResult ) const`[protected]`

Execute a location path.

Parameters:

  context | current source tree context node
  opPos | current position in the Op Map
  executionContext | current execution context
  theResult | the result as a node list

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

Execute a location path.

Parameters:

  context | current source tree context node
  opPos | current position in the Op Map
  executionContext | current execution context
  theResult | the result as a node list

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

Execute a location path.

Parameters:

  context | current source tree context node
  opPos | current position in the Op Map
  executionContext | current execution context
  theResult | the result as a node list

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

Execute a location path.

Parameters:

  context | current source tree context node
  opPos | current position in the Op Mpa
  executionContext | current execution context

Returns:
  node-set

bool XPath::lt ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  true if arg 1 is less than arg 2.

bool XPath::lte ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  true if arg 1 is less than or equal to arg 2.

void XPath::minus ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  difference of arg1 and arg2.

void XPath::mod ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  arg1 mod arg2.

void XPath::mult ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType opPos,
| XPathExecutionContext & executionContext ) const`[protected]`

Multiply two arguments.

Parameters:

  context | The current source tree context node.
  opPos | The current position in the Op Map.
  executionContext | current execution context

Returns:
  arg1 * arg2.

void XPath::neg ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  -arg.

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

bool XPath::notequals ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  true if the two arguments are not equal.

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

Get a literal value.

Parameters:

  opPos | The current position in the Op Map.
  formatterListener | the FormatterListener instance to receive the result
  function | A pointer to the member function of FormatterListener to call

void XPath::numberlit ( | OpCodeMapPositionType opPos,
| XalanDOMString & theResult ) const`[protected]`

Get a literal value.

The value is appended to the supplied string.

Parameters:

  opPos | The current position in the Op Map.
  theResult | The string.

void XPath::numberlit ( | OpCodeMapPositionType opPos,
| bool & theResult ) const`[protected]`

Get a literal value as a boolean.

Parameters:

  opPos | The current position in the Op Map.
  theResult | The string.

const XObjectPtr XPath::numberlit ( | OpCodeMapPositionType opPos,
| XPathExecutionContext & executionContext ) const`[protected]`

Get a literal value.

Parameters:

  opPos | The current position in the Op Map.

Returns:
  The result as a double.

double XPath::numberlit ( | OpCodeMapPositionType opPos ) const`[protected]`

Get a literal value.

Parameters:

  opPos | The current position in the Op Map.

Returns:
  The result as a double.

void XPath::plus ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  sum of arg1 and arg2.

const XObjectPtr XPath::predicate ( | XalanNode * context,
| OpCodeMapPositionType opPos,
| XPathExecutionContext & executionContext ) const

Evaluate a predicate.

Parameters:

  context | current source tree context node
  opPos | current position in the Op Map
  executionContext | current execution context

Returns:
  pointer to either a boolean or a number

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

const XObjectPtr XPath::runExtFunction ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  executionContext | current execution context

Returns:
  the result of the function.

const XObjectPtr XPath::runFunction ( | XalanNode * context,
| OpCodeMapPositionType 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 Op Map.
  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,
| OpCodeMapPositionType opPos,
| MutableNodeRefList & queryResults ) const`[protected]`

XalanNode * XPath::stepPattern ( | XPathExecutionContext & executionContext,
| XalanNode * context,
| OpCodeMapPositionType 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 ( | OpCodeMapPositionType opPos,
| XPathExecutionContext & executionContext ) const`[protected]`

Get the value of a variable.

Parameters:

  opPos | The current position in the Op Map.
  executionContext | current execution context

Returns:
  an XObject object.

## Friends And Related Function Documentation

class NodeTester`[friend]`

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

- XPath.hpp

Interpreting class diagrams

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

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