Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.11


Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Friends | List of all members
XPath Class Reference

#include <XPath.hpp>

Classes

class  NodeTester
 
class  TargetData
 

Public Types

enum  eMatchScore {
  eMatchScoreNone, eMatchScoreNodeTest, eMatchScoreNSWild, eMatchScoreQName,
  eMatchScoreOther
}
 
typedef XERCES_CPP_NAMESPACE_QUALIFIER Locator LocatorType
 
typedef XPathExpression::OpCodeMapPositionType OpCodeMapPositionType
 
typedef XPathExpression::OpCodeMapValueType OpCodeMapValueType
 
typedef XPathExpression::TokenQueuePositionType TokenQueuePositionType
 
typedef XPathExecutionContext::GetCachedString GetCachedString
 
typedef XPathExecutionContext::PrefixResolverSetAndRestore PrefixResolverSetAndRestore
 
typedef XPathExecutionContext::CurrentNodePushAndPop CurrentNodePushAndPop
 
typedef XalanVector< TargetDataTargetDataVectorType
 
typedef void(FormatterListener::* MemberFunctionPtr) (const XMLCh *const, const FormatterListener::size_type)
 
typedef XPathFunctionTable FunctionTableType
 

Public Member Functions

 XPath (MemoryManager &theManager, const Locator *theLocator=0)
 Construct an XPath. More...
 
MemoryManager & 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...
 
XPathExpressiongetExpression ()
 Retrieve a reference to the current expression. More...
 
const XPathExpressiongetExpression () 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 Locator * getLocator () const
 
void setLocator (const Locator *theLocator)
 

Static Public Member Functions

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

Static Public Attributes

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

Protected Member Functions

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 XalanDOMStringfunctionName (XalanNode *context) const
 Handle the built-in function "name". More...
 
const XalanDOMStringfunctionName (XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
 Handle the built-in function "name". More...
 
const XalanDOMStringfunctionLocalName (XalanNode *context) const
 Handle the built-in function "local-name". More...
 
const XalanDOMStringfunctionLocalName (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, XPathExecutionContext &executionContext) 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
 Execute a step in a location path. More...
 
eMatchScore doStepPredicate (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapPositionType startOpPos, eMatchScore score) const
 Potentially evaluate a predicate in a match pattern step. More...
 
XalanNodestepPattern (XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, eMatchScore &scoreHolder) const
 Execute a step in a match pattern's 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
 
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
 

Detailed Description

Definition at line 64 of file XPath.hpp.

Member Typedef Documentation

◆ CurrentNodePushAndPop

Definition at line 75 of file XPath.hpp.

◆ FunctionTableType

Definition at line 974 of file XPath.hpp.

◆ GetCachedString

Definition at line 73 of file XPath.hpp.

◆ LocatorType

typedef XERCES_CPP_NAMESPACE_QUALIFIER Locator XPath::LocatorType

Definition at line 68 of file XPath.hpp.

◆ MemberFunctionPtr

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

Definition at line 251 of file XPath.hpp.

◆ OpCodeMapPositionType

Definition at line 70 of file XPath.hpp.

◆ OpCodeMapValueType

Definition at line 71 of file XPath.hpp.

◆ PrefixResolverSetAndRestore

Definition at line 74 of file XPath.hpp.

◆ TargetDataVectorType

Definition at line 145 of file XPath.hpp.

◆ TokenQueuePositionType

Definition at line 72 of file XPath.hpp.

Member Enumeration Documentation

◆ eMatchScore

Enumerator
eMatchScoreNone 
eMatchScoreNodeTest 
eMatchScoreNSWild 
eMatchScoreQName 
eMatchScoreOther 

Definition at line 86 of file XPath.hpp.

Constructor & Destructor Documentation

◆ XPath()

XPath::XPath ( MemoryManager &  theManager,
const Locator *  theLocator = 0 
)
explicit

Construct an XPath.

Parameters
theLocatorThe applicable Locator, if any.

◆ ~XPath()

XPath::~XPath ( )

Member Function Documentation

◆ And()

bool XPath::And ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

OR two expressions and return the boolean result.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
true if the two arguments are both true.

◆ create()

static XPath* XPath::create ( MemoryManager &  theManager,
const Locator *  theLocator = 0 
)
static

◆ destroyTable()

static void XPath::destroyTable ( )
inlinestatic

Definition at line 1000 of file XPath.hpp.

◆ div() [1/2]

double XPath::div ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Divide a number.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
arg1 / arg2.

◆ div() [2/2]

void XPath::div ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
FormatterListener formatterListener,
MemberFunctionPtr  function 
) const
protected

Divide a number.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
formatterListenerthe FormatterListener instance to receive the result
functionA pointer to the member function of FormatterListener to call

◆ doGetMatchScore()

void XPath::doGetMatchScore ( XalanNode context,
XPathExecutionContext executionContext,
eMatchScore score 
) const
protected

Helper function to get match score.

Parameters
contextThe current source tree context node.
executionContextThe current execution context
scoreThe match score

◆ doStepPredicate()

eMatchScore XPath::doStepPredicate ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapPositionType  startOpPos,
eMatchScore  score 
) const
protected

Potentially evaluate a predicate in a match pattern step.

Parameters
executionContextThe current execution context.
contextThe current source tree context node.
opPosThe current position in the Op Map.
startOpPosThe original position for the step in the Op Map.
scoreThe current match score for the context node.
Returns
The resulting match score

◆ equals()

bool XPath::equals ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Tell if two expressions are functionally equal.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
true if the two arguments are equal.

◆ execute() [1/24]

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

Execute the XPath from the provided context.

Parameters
contextcurrent source tree context node, which must not be 0
prefixResolverprefix resolver to use
executionContextcurrent execution context
Returns
smart-pointer to result XObject

◆ execute() [2/24]

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

Execute the XPath from the provided context.

Parameters
contextcurrent source tree context node, which must not be 0
prefixResolverprefix resolver to use
executionContextcurrent execution context
resultthe boolean result

◆ execute() [3/24]

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

Execute the XPath from the provided context.

Parameters
contextcurrent source tree context node, which must not be 0
prefixResolverprefix resolver to use
executionContextcurrent execution context
resultthe numeric result

◆ execute() [4/24]

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
contextcurrent source tree context node, which must not be 0
prefixResolverprefix resolver to use
executionContextcurrent execution context
resultthe string result

◆ execute() [5/24]

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

Execute the XPath from the provided context.

Parameters
contextcurrent source tree context node, which must not be 0
prefixResolverprefix resolver to use
executionContextcurrent execution context
formatterListenerthe FormatterListener instance to receive the result
functionA pointer to the member function of FormatterListener to call

◆ execute() [6/24]

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
contextcurrent source tree context node, which must not be 0
prefixResolverprefix resolver to use
executionContextcurrent execution context
resultthe node-set result
Returns
the node-set result, if the result was not returned in the parameter

◆ execute() [7/24]

const XObjectPtr XPath::execute ( XalanNode context,
const PrefixResolver prefixResolver,
const NodeRefListBase contextNodeList,
XPathExecutionContext executionContext 
) const
inline

Execute the XPath from the provided context.

Parameters
contextcurrent source tree context node, which must not be 0
prefixResolverprefix resolver to use
contextNodeListnode list for current context
executionContextcurrent execution context
Returns
smart-pointer to result XObject

Definition at line 306 of file XPath.hpp.

◆ execute() [8/24]

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

Execute the XPath from the provided context.

Parameters
contextcurrent source tree context node, which must not be 0
prefixResolverprefix resolver to use
contextNodeListnode list for current context
executionContextcurrent execution context
resultthe boolean result

Definition at line 330 of file XPath.hpp.

◆ execute() [9/24]

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

Execute the XPath from the provided context.

Parameters
contextcurrent source tree context node, which must not be 0
prefixResolverprefix resolver to use
contextNodeListnode list for current context
executionContextcurrent execution context
resultthe numeric result

Definition at line 355 of file XPath.hpp.

◆ execute() [10/24]

void XPath::execute ( XalanNode context,
const PrefixResolver prefixResolver,
const NodeRefListBase contextNodeList,
XPathExecutionContext executionContext,
XalanDOMString result 
) const
inline

Execute the XPath from the provided context.

The result is appended to the supplied string.

Parameters
contextcurrent source tree context node, which must not be 0
prefixResolverprefix resolver to use
contextNodeListnode list for current context
executionContextcurrent execution context
resultthe string result

Definition at line 381 of file XPath.hpp.

◆ execute() [11/24]

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

Execute the XPath from the provided context.

Parameters
contextcurrent source tree context node, which must not be 0
prefixResolverprefix resolver to use
contextNodeListnode list for current context
executionContextcurrent execution context
formatterListenerthe FormatterListener instance to receive the result
functionA pointer to the member function of FormatterListener to call

Definition at line 407 of file XPath.hpp.

◆ execute() [12/24]

const XObjectPtr XPath::execute ( XalanNode context,
const PrefixResolver prefixResolver,
const NodeRefListBase contextNodeList,
XPathExecutionContext executionContext,
MutableNodeRefList result 
) const
inline

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
contextcurrent source tree context node, which must not be 0
prefixResolverprefix resolver to use
contextNodeListnode list for current context
executionContextcurrent execution context
resultthe result as a set of nodes
Returns
the node-set result, if the result was not returned in the parameter

Definition at line 444 of file XPath.hpp.

◆ execute() [13/24]

const XObjectPtr XPath::execute ( XPathExecutionContext executionContext) const
inline

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
executionContextcurrent execution context
Returns
smart-pointer to result XObject

Definition at line 469 of file XPath.hpp.

◆ execute() [14/24]

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

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
executionContextcurrent execution context
resultthe boolean result

Definition at line 490 of file XPath.hpp.

◆ execute() [15/24]

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

Execute the XPath from the provided context.

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

Parameters
executionContextcurrent execution context
resultthe numeric result

Definition at line 514 of file XPath.hpp.

◆ execute() [16/24]

void XPath::execute ( XPathExecutionContext executionContext,
XalanDOMString result 
) const
inline

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
executionContextcurrent execution context
resultthe string result

Definition at line 539 of file XPath.hpp.

◆ execute() [17/24]

void XPath::execute ( XPathExecutionContext executionContext,
FormatterListener formatterListener,
MemberFunctionPtr  function 
) const
inline

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
executionContextcurrent execution context
formatterListenerthe FormatterListener instance to receive the result
functionA pointer to the member function of FormatterListener to call

Definition at line 564 of file XPath.hpp.

◆ execute() [18/24]

const XObjectPtr XPath::execute ( XPathExecutionContext executionContext,
MutableNodeRefList result 
) const
inline

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
executionContextcurrent execution context
resultA 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

Definition at line 601 of file XPath.hpp.

◆ execute() [19/24]

const XObjectPtr XPath::execute ( const PrefixResolver prefixResolver,
XPathExecutionContext executionContext 
) const
inline

Execute the XPath from the provided context.

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

Parameters
executionContextcurrent execution context
prefixResolverprefix resolver to use
Returns
smart-pointer to result XObject

Definition at line 626 of file XPath.hpp.

◆ execute() [20/24]

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

Execute the XPath from the provided context.

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

Parameters
executionContextcurrent execution context
prefixResolverprefix resolver to use
resultthe boolean result

Definition at line 654 of file XPath.hpp.

◆ execute() [21/24]

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

Execute the XPath from the provided context.

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

Parameters
executionContextcurrent execution context
prefixResolverprefix resolver to use
resultthe numeric result

Definition at line 684 of file XPath.hpp.

◆ execute() [22/24]

void XPath::execute ( const PrefixResolver prefixResolver,
XPathExecutionContext executionContext,
XalanDOMString result 
) const
inline

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
executionContextcurrent execution context
prefixResolverprefix resolver to use
resultthe string result

Definition at line 715 of file XPath.hpp.

◆ execute() [23/24]

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

Execute the XPath from the provided context.

Parameters
prefixResolverprefix resolver to use
executionContextcurrent execution context
formatterListenerthe FormatterListener instance to receive the result
functionA pointer to the member function of FormatterListener to call

Definition at line 743 of file XPath.hpp.

◆ execute() [24/24]

XObjectPtr XPath::execute ( const PrefixResolver prefixResolver,
XPathExecutionContext executionContext,
MutableNodeRefList result 
) const
inline

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
executionContextcurrent execution context
prefixResolverprefix resolver to use
resultA 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

Definition at line 786 of file XPath.hpp.

◆ executeMore() [1/6]

const XObjectPtr XPath::executeMore ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Execute the XPath from the provided context.

Parameters
contextcurrent source tree context node
opPoscurrent position in the Op Map
executionContextcurrent execution context
Returns
pointer to union of node-set operands

◆ executeMore() [2/6]

void XPath::executeMore ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
bool &  theResult 
) const
protected

Execute the XPath from the provided context.

Parameters
contextcurrent source tree context node
opPoscurrent position in the Op Map
executionContextcurrent execution context
theResultThe result of the execution

◆ executeMore() [3/6]

void XPath::executeMore ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
double &  theResult 
) const
protected

Execute the XPath from the provided context.

Parameters
contextcurrent source tree context node
opPoscurrent position in the Op Map
executionContextcurrent execution context
theResultThe result of the execution

◆ executeMore() [4/6]

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
contextcurrent source tree context node
opPoscurrent position in the Op Map
executionContextcurrent execution context
theResultThe result of the execution

◆ executeMore() [5/6]

void XPath::executeMore ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
FormatterListener formatterListener,
MemberFunctionPtr  function 
) const
protected

Execute the XPath from the provided context.

Parameters
contextcurrent source tree context node
opPoscurrent position in the Op Map
executionContextcurrent execution context
formatterListenerthe FormatterListener instance to receive the result
functionA pointer to the member function of FormatterListener to call

◆ executeMore() [6/6]

const XObjectPtr XPath::executeMore ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
MutableNodeRefList theResult 
) const
protected

Execute the XPath from the provided context.

Parameters
contextcurrent source tree context node
opPoscurrent position in the Op Map
executionContextcurrent execution context
theResultThe result of the execution
Returns
the node-set result, if the result was not returned in the parameter

◆ extfunction()

const XObjectPtr XPath::extfunction ( XalanNode context,
OpCodeMapPositionType  ,
const XalanDOMString theNamespace,
const XalanDOMString functionName,
const Function::XObjectArgVectorType argVec,
XPathExecutionContext executionContext 
) const
inlineprotected

Handle an extension function.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
theNamespaceThe namespace of the function.
functionNameThe name of the function.
executionContextcurrent execution context
Returns
the result of the function.

Definition at line 2069 of file XPath.hpp.

◆ findAncestors()

OpCodeMapPositionType XPath::findAncestors ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapValueType  stepType,
MutableNodeRefList subQueryResults 
) const
protected

◆ findAncestorsOrSelf()

OpCodeMapPositionType XPath::findAncestorsOrSelf ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapValueType  stepType,
MutableNodeRefList subQueryResults 
) const
protected

◆ findAttributes()

OpCodeMapPositionType XPath::findAttributes ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapValueType  stepType,
MutableNodeRefList subQueryResults 
) const
protected

◆ findChildren()

OpCodeMapPositionType XPath::findChildren ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapValueType  stepType,
MutableNodeRefList subQueryResults 
) const
protected

◆ findDescendants()

OpCodeMapPositionType XPath::findDescendants ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapValueType  stepType,
MutableNodeRefList subQueryResults 
) const
protected

◆ findFollowing()

OpCodeMapPositionType XPath::findFollowing ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapValueType  stepType,
MutableNodeRefList subQueryResults 
) const
protected

◆ findFollowingSiblings()

OpCodeMapPositionType XPath::findFollowingSiblings ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapValueType  stepType,
MutableNodeRefList subQueryResults 
) const
protected

◆ findNamespace()

OpCodeMapPositionType XPath::findNamespace ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapValueType  stepType,
MutableNodeRefList subQueryResults 
) const
protected

◆ findNodeSet()

OpCodeMapPositionType XPath::findNodeSet ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapValueType  stepType,
MutableNodeRefList subQueryResults 
) const
protected

◆ findNodesOnUnknownAxis()

OpCodeMapPositionType XPath::findNodesOnUnknownAxis ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapValueType  stepType,
MutableNodeRefList subQueryResults 
) const
protected

◆ findParent()

OpCodeMapPositionType XPath::findParent ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapValueType  stepType,
MutableNodeRefList subQueryResults 
) const
protected

◆ findPreceeding()

OpCodeMapPositionType XPath::findPreceeding ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapValueType  stepType,
MutableNodeRefList subQueryResults 
) const
protected

◆ findPreceedingSiblings()

OpCodeMapPositionType XPath::findPreceedingSiblings ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapValueType  stepType,
MutableNodeRefList subQueryResults 
) const
protected

◆ findRoot()

OpCodeMapPositionType XPath::findRoot ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapValueType  stepType,
MutableNodeRefList subQueryResults 
) const
protected

◆ findSelf()

OpCodeMapPositionType XPath::findSelf ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
OpCodeMapValueType  stepType,
MutableNodeRefList subQueryResults 
) const
protected

◆ function()

const XObjectPtr XPath::function ( XalanNode context,
OpCodeMapValueType  funcID,
const Function::XObjectArgVectorType argVec,
XPathExecutionContext executionContext 
) const
inlineprotected

Handle a built-in function.

Parameters
contextThe current source tree context node.
funcIDThe function ID.
argVecThe arguments for the function.
executionContextcurrent execution context
Returns
the result of the function.

Definition at line 2106 of file XPath.hpp.

◆ functionBoolean()

bool XPath::functionBoolean ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
inlineprotected

Handle the built-in function "boolean".

Parameters
contextThe current source tree context node, which must not be 0.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the function.

Definition at line 2194 of file XPath.hpp.

◆ functionCeiling()

double XPath::functionCeiling ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
inlineprotected

Handle the built-in function "ceiling".

Parameters
contextThe current source tree context node, which must not be 0.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the function.

Definition at line 2323 of file XPath.hpp.

◆ functionCount()

double XPath::functionCount ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Handle the built-in function "count".

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the function.

◆ functionFloor()

double XPath::functionFloor ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
inlineprotected

Handle the built-in function "floor".

Parameters
contextThe current source tree context node, which must not be 0.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the function.

Definition at line 2306 of file XPath.hpp.

◆ functionLast()

double XPath::functionLast ( XPathExecutionContext executionContext) const
inlineprotected

Handle the built-in function "last".

Parameters
executionContextcurrent execution context
Returns
the result of the function.

Definition at line 2143 of file XPath.hpp.

◆ functionLocalName() [1/2]

const XalanDOMString& XPath::functionLocalName ( XalanNode context) const
protected

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

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

◆ functionLocalName() [2/2]

const XalanDOMString& XPath::functionLocalName ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

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

Parameters
contextThe current source tree context node, which must not be 0.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the function.

◆ functionName() [1/2]

const XalanDOMString& XPath::functionName ( XalanNode context) const
inlineprotected

Handle the built-in function "name".

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

Definition at line 2215 of file XPath.hpp.

◆ functionName() [2/2]

const XalanDOMString& XPath::functionName ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Handle the built-in function "name".

Parameters
contextThe current source tree context node, which must not be 0.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the function.

◆ functionNot()

bool XPath::functionNot ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
inlineprotected

Handle the built-in function "not".

Parameters
contextThe current source tree context node, which must not be 0.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the function.

Definition at line 2175 of file XPath.hpp.

◆ functionNumber() [1/2]

double XPath::functionNumber ( XalanNode context,
XPathExecutionContext executionContext 
) const
inlineprotected

Handle the built-in function "number".

Parameters
contextThe current source tree context node, which must not be 0.
executionContextcurrent execution context
Returns
the result of the function.

Definition at line 2267 of file XPath.hpp.

◆ functionNumber() [2/2]

double XPath::functionNumber ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
inlineprotected

Handle the built-in function "number".

Parameters
contextThe current source tree context node, which must not be 0.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the function.

Definition at line 2285 of file XPath.hpp.

◆ functionPosition()

double XPath::functionPosition ( XalanNode context,
XPathExecutionContext executionContext 
) const
inlineprotected

Handle the built-in function "position".

Parameters
contextThe current source tree context node, which must not be 0.
executionContextcurrent execution context
Returns
the result of the function.

Definition at line 2123 of file XPath.hpp.

◆ functionRound()

double XPath::functionRound ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
inlineprotected

Handle the built-in function "round".

Parameters
contextThe current source tree context node, which must not be 0.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the function.

Definition at line 2340 of file XPath.hpp.

◆ functionStringLength() [1/2]

double XPath::functionStringLength ( XalanNode context,
XPathExecutionContext executionContext 
) const
protected

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

Parameters
contextThe current source tree context node, which must not be 0.
executionContextcurrent execution context
Returns
the result of the function.

◆ functionStringLength() [2/2]

double XPath::functionStringLength ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

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

Parameters
contextThe current source tree context node, which must not be 0.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the function.

◆ functionSum()

double XPath::functionSum ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Handle the built-in function "sum".

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the function.

◆ getExpression() [1/2]

XPathExpression& XPath::getExpression ( )
inline

Retrieve a reference to the current expression.

Returns
current expression

Definition at line 811 of file XPath.hpp.

◆ getExpression() [2/2]

const XPathExpression& XPath::getExpression ( ) const
inline

Retrieve a reference to the current expression.

Returns
current expression

Definition at line 822 of file XPath.hpp.

◆ getFunctionTable()

static const FunctionTableType& XPath::getFunctionTable ( )
inlinestatic

Retrieve the table of installed functions.

Returns
function table

Definition at line 982 of file XPath.hpp.

◆ getInstalledFunctionNames()

template<class OutputIteratorType >
static void XPath::getInstalledFunctionNames ( OutputIteratorType  theIterator)
inlinestatic

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

Parameters
theIteratorvector added to

Definition at line 994 of file XPath.hpp.

◆ getInStylesheet()

bool XPath::getInStylesheet ( ) const
inline

Definition at line 1006 of file XPath.hpp.

◆ getLocator()

const Locator* XPath::getLocator ( ) const
inline

Definition at line 1018 of file XPath.hpp.

◆ getMatchScore() [1/2]

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

Get the match score for the specified node.

Parameters
nodeThe node for the score
executionContextcurrent execution context
Returns
union of node-set operands

◆ getMatchScore() [2/2]

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

Get the match score for the specified node.

Parameters
nodeThe node for the score
resolverThe prefix resolver
executionContextcurrent execution context
Returns
union of node-set operands

◆ getMatchScoreValue()

static double XPath::getMatchScoreValue ( eMatchScore  score)
inlinestatic

Definition at line 828 of file XPath.hpp.

◆ getMemoryManager()

MemoryManager& XPath::getMemoryManager ( )
inline

Definition at line 175 of file XPath.hpp.

◆ getNumericOperand()

double XPath::getNumericOperand ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Get a numeric operand for an expression.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
The value of the operand.

◆ getTargetData()

void XPath::getTargetData ( TargetDataVectorType targetData) const

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

Parameters
targetDataThe vector for the data

◆ group() [1/6]

const XObjectPtr XPath::group ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
inlineprotected

Execute an expression as a group.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
arg.

Definition at line 1878 of file XPath.hpp.

◆ group() [2/6]

void XPath::group ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
bool &  theResult 
) const
inlineprotected

Execute an expression as a group.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
theResultThe result of the execution

Definition at line 1894 of file XPath.hpp.

◆ group() [3/6]

void XPath::group ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
double &  theResult 
) const
inlineprotected

Execute an expression as a group.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
theResultThe result of the execution

Definition at line 1911 of file XPath.hpp.

◆ group() [4/6]

void XPath::group ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
XalanDOMString theResult 
) const
inlineprotected

Execute an expression as a group.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
theResultThe result of the execution

Definition at line 1928 of file XPath.hpp.

◆ group() [5/6]

void XPath::group ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
FormatterListener formatterListener,
MemberFunctionPtr  function 
) const
inlineprotected

Execute an expression as a group.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
formatterListenerthe FormatterListener instance to receive the result
functionA pointer to the member function of FormatterListener to call

Definition at line 1947 of file XPath.hpp.

◆ group() [6/6]

void XPath::group ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
MutableNodeRefList theResult 
) const
inlineprotected

Execute an expression as a group.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
theResultThe result of the execution

Definition at line 1970 of file XPath.hpp.

◆ gt()

bool XPath::gt ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Tell if one argument is greater than the other argument.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
true if arg 1 is greater than arg 2.

◆ gte()

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
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
true if arg 1 is greater than or equal to arg 2.

◆ handleFoundIndex()

eMatchScore XPath::handleFoundIndex ( XPathExecutionContext executionContext,
XalanNode localContext,
OpCodeMapPositionType  startOpPos 
) const
protected

◆ handleFoundIndexPositional()

eMatchScore XPath::handleFoundIndexPositional ( XPathExecutionContext executionContext,
XalanNode localContext,
OpCodeMapPositionType  startOpPos 
) const
protected

◆ initialize()

static void XPath::initialize ( MemoryManager &  theManager)
static

Perform static initialization.

See class XPathInit.

◆ installFunction() [1/2]

static void XPath::installFunction ( const XalanDOMString funcName,
const Function func 
)
inlinestatic

Install a built-in function.

Parameters
funcNameunqualified name of the function
funcinstance of an XPath function object

Definition at line 915 of file XPath.hpp.

◆ installFunction() [2/2]

static void XPath::installFunction ( const XalanDOMChar *  funcName,
const Function func 
)
inlinestatic

Install a built-in function.

Parameters
funcNameunqualified name of the function
funcinstance of an XPath function object

Definition at line 930 of file XPath.hpp.

◆ isInstalledFunction()

static bool XPath::isInstalledFunction ( const XalanDOMString theFunctionName)
inlinestatic

Whether the named function is installed in the function table.

Parameters
nameof function
Returns
true if the function has been installed

Definition at line 969 of file XPath.hpp.

◆ literal() [1/5]

const XObjectPtr XPath::literal ( OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Get a literal value.

Parameters
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
an XObject object.

◆ literal() [2/5]

void XPath::literal ( OpCodeMapPositionType  opPos,
bool &  theResult 
) const
protected

Get a literal value as a boolean.

Parameters
opPosThe current position in the Op Map.
theResultThe value.

◆ literal() [3/5]

void XPath::literal ( OpCodeMapPositionType  opPos,
double &  theResult 
) const
protected

Get a literal value as a number.

Parameters
opPosThe current position in the Op Map.
theResultThe value.

◆ literal() [4/5]

void XPath::literal ( OpCodeMapPositionType  opPos,
XalanDOMString theResult 
) const
protected

Get a literal value.

The value is appended to the supplied string.

Parameters
opPosThe current position in the Op Map.
theResultThe string.

◆ literal() [5/5]

void XPath::literal ( OpCodeMapPositionType  opPos,
FormatterListener formatterListener,
MemberFunctionPtr  function 
) const
protected

Get a literal value.

Parameters
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
The result as a double.

◆ locationPath() [1/6]

const XObjectPtr XPath::locationPath ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Execute a location path.

Parameters
contextcurrent source tree context node
opPoscurrent position in the Op Mpa
executionContextcurrent execution context
Returns
node-set

◆ locationPath() [2/6]

void XPath::locationPath ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
bool &  theResult 
) const
protected

Execute a location path.

Parameters
contextcurrent source tree context node
opPoscurrent position in the Op Map
executionContextcurrent execution context
theResultthe result as a node list

◆ locationPath() [3/6]

void XPath::locationPath ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
double &  theResult 
) const
protected

Execute a location path.

Parameters
contextcurrent source tree context node
opPoscurrent position in the Op Map
executionContextcurrent execution context
theResultthe result as a node list

◆ locationPath() [4/6]

void XPath::locationPath ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
XalanDOMString theResult 
) const
protected

Execute a location path.

Parameters
contextcurrent source tree context node
opPoscurrent position in the Op Map
executionContextcurrent execution context
theResultthe result as a node list

◆ locationPath() [5/6]

void XPath::locationPath ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
FormatterListener formatterListener,
MemberFunctionPtr  function 
) const
protected

Execute a location path.

Parameters
contextcurrent source tree context node
opPoscurrent position in the Op Map
executionContextcurrent execution context
formatterListenerthe FormatterListener instance to receive the result
functionA pointer to the member function of FormatterListener to call

◆ locationPath() [6/6]

void XPath::locationPath ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
MutableNodeRefList theResult 
) const
inlineprotected

Execute a location path.

Parameters
contextcurrent source tree context node
opPoscurrent position in the Op Map
executionContextcurrent execution context
theResultthe result as a node list

Definition at line 1321 of file XPath.hpp.

◆ lt()

bool XPath::lt ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Tell if one argument is less than the other argument.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
true if arg 1 is less than arg 2.

◆ lte()

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
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
true if arg 1 is less than or equal to arg 2.

◆ minus() [1/2]

double XPath::minus ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Give the difference of two arguments.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
difference of arg1 and arg2.

◆ minus() [2/2]

void XPath::minus ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
FormatterListener formatterListener,
MemberFunctionPtr  function 
) const
protected

Give the difference of two arguments.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
formatterListenerthe FormatterListener instance to receive the result
functionA pointer to the member function of FormatterListener to call

◆ mod() [1/2]

double XPath::mod ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Return the remainder from a truncating division.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
arg1 mod arg2.

◆ mod() [2/2]

void XPath::mod ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
FormatterListener formatterListener,
MemberFunctionPtr  function 
) const
protected

Return the remainder from a truncating division.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
formatterListenerthe FormatterListener instance to receive the result
functionA pointer to the member function of FormatterListener to call

◆ mult() [1/2]

double XPath::mult ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Multiply two arguments.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
arg1 * arg2.

◆ mult() [2/2]

void XPath::mult ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
FormatterListener formatterListener,
MemberFunctionPtr  function 
) const
protected

Multiply two arguments.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
formatterListenerthe FormatterListener instance to receive the result
functionA pointer to the member function of FormatterListener to call

◆ neg() [1/2]

double XPath::neg ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Return the negation of a number.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
-arg.

◆ neg() [2/2]

void XPath::neg ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
FormatterListener formatterListener,
MemberFunctionPtr  function 
) const
protected

Return the negation of a number.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
formatterListenerthe FormatterListener instance to receive the result
functionA pointer to the member function of FormatterListener to call

◆ notequals()

bool XPath::notequals ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Tell if two expressions are functionally not equal.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
true if the two arguments are not equal.

◆ numberlit() [1/5]

double XPath::numberlit ( OpCodeMapPositionType  opPos) const
protected

Get a literal value.

Parameters
opPosThe current position in the Op Map.
Returns
The result as a double.

◆ numberlit() [2/5]

const XObjectPtr XPath::numberlit ( OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Get a literal value.

Parameters
opPosThe current position in the Op Map.
Returns
The result as a double.

◆ numberlit() [3/5]

void XPath::numberlit ( OpCodeMapPositionType  opPos,
bool &  theResult 
) const
protected

Get a literal value as a boolean.

Parameters
opPosThe current position in the Op Map.
theResultThe string.

◆ numberlit() [4/5]

void XPath::numberlit ( OpCodeMapPositionType  opPos,
XalanDOMString theResult 
) const
protected

Get a literal value.

The value is appended to the supplied string.

Parameters
opPosThe current position in the Op Map.
theResultThe string.

◆ numberlit() [5/5]

void XPath::numberlit ( OpCodeMapPositionType  opPos,
FormatterListener formatterListener,
MemberFunctionPtr  function 
) const
protected

Get a literal value.

Parameters
opPosThe current position in the Op Map.
formatterListenerthe FormatterListener instance to receive the result
functionA pointer to the member function of FormatterListener to call

◆ Or()

bool XPath::Or ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

OR two expressions and return the boolean result.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
true if the one of the two arguments are true.

◆ plus() [1/2]

double XPath::plus ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Give the sum of two arguments.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
sum of arg1 and arg2.

◆ plus() [2/2]

void XPath::plus ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext,
FormatterListener formatterListener,
MemberFunctionPtr  function 
) const
protected

Give the sum of two arguments.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
formatterListenerthe FormatterListener instance to receive the result
functionA pointer to the member function of FormatterListener to call

◆ predicate()

const XObjectPtr XPath::predicate ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
inline

Evaluate a predicate.

Parameters
contextcurrent source tree context node
opPoscurrent position in the Op Map
executionContextcurrent execution context
Returns
pointer to either a boolean or a number

Definition at line 892 of file XPath.hpp.

◆ predicates()

OpCodeMapPositionType XPath::predicates ( XPathExecutionContext executionContext,
OpCodeMapPositionType  opPos,
MutableNodeRefList subQueryResults 
) const
protected

◆ runExtFunction()

const XObjectPtr XPath::runExtFunction ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Setup for and run an extension function.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the function.

◆ runFunction()

const XObjectPtr XPath::runFunction ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Setup for and run a function.

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the function.

◆ setInStylesheet()

void XPath::setInStylesheet ( bool  fValue)
inline

Definition at line 1012 of file XPath.hpp.

◆ setLocator()

void XPath::setLocator ( const Locator *  theLocator)
inline

Definition at line 1024 of file XPath.hpp.

◆ shrink()

void XPath::shrink ( )
inline

Shrink internal tables.

Definition at line 186 of file XPath.hpp.

◆ step()

void XPath::step ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
MutableNodeRefList queryResults 
) const
protected

Execute a step in a location path.

Parameters
xpathThe xpath that is executing
contextThe current source tree context node
opPosThe current position in the xpath operation map array
queryResultsThe set of nodes that matches the step.

◆ stepPattern()

XalanNode* XPath::stepPattern ( XPathExecutionContext executionContext,
XalanNode context,
OpCodeMapPositionType  opPos,
eMatchScore scoreHolder 
) const
protected

Execute a step in a match pattern's location path.

Parameters
xpathThe xpath that is executing
contextThe current source tree context node
opPosThe current position in the xpath operation map array
scoreHoldera reference to an eMatchScore to receive the result.
Returns
the last matched context node

◆ terminate()

static void XPath::terminate ( )
static

Perform static shut down.

See class XPathInit.

◆ uninstallFunction() [1/2]

static bool XPath::uninstallFunction ( const XalanDOMString funcName)
inlinestatic

Remove a named function from the function table.

Parameters
funcNamename of function
Returns
true if the function was found and removed.

Definition at line 945 of file XPath.hpp.

◆ uninstallFunction() [2/2]

static bool XPath::uninstallFunction ( const XalanDOMChar *  funcName)
inlinestatic

Remove a named function from the function table.

Parameters
funcNamename of function
Returns
true if the function was found and removed.

Definition at line 957 of file XPath.hpp.

◆ Union() [1/6]

const XObjectPtr XPath::Union ( XalanNode context,
OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

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

Parameters
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the union of node-set operands.

◆ Union() [2/6]

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
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the union of node-set operands.

◆ Union() [3/6]

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
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the union of node-set operands.

◆ Union() [4/6]

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
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the union of node-set operands.

◆ Union() [5/6]

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
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
formatterListenerthe FormatterListener instance to receive the result
functionA pointer to the member function of FormatterListener to call

◆ Union() [6/6]

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
contextThe current source tree context node.
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
the result of the union of node-set operands.

◆ variable()

const XObjectPtr XPath::variable ( OpCodeMapPositionType  opPos,
XPathExecutionContext executionContext 
) const
protected

Get the value of a variable.

Parameters
opPosThe current position in the Op Map.
executionContextcurrent execution context
Returns
an XObject object.

Friends And Related Function Documentation

◆ NodeTester

friend class NodeTester
friend

Definition at line 1232 of file XPath.hpp.

Member Data Documentation

◆ PSEUDONAME_ANY

const XalanDOMChar XPath::PSEUDONAME_ANY[]
static

Definition at line 78 of file XPath.hpp.

◆ PSEUDONAME_COMMENT

const XalanDOMChar XPath::PSEUDONAME_COMMENT[]
static

Definition at line 81 of file XPath.hpp.

◆ PSEUDONAME_NODE

const XalanDOMChar XPath::PSEUDONAME_NODE[]
static

Definition at line 84 of file XPath.hpp.

◆ PSEUDONAME_OTHER

const XalanDOMChar XPath::PSEUDONAME_OTHER[]
static

Definition at line 83 of file XPath.hpp.

◆ PSEUDONAME_PI

const XalanDOMChar XPath::PSEUDONAME_PI[]
static

Definition at line 82 of file XPath.hpp.

◆ PSEUDONAME_ROOT

const XalanDOMChar XPath::PSEUDONAME_ROOT[]
static

Definition at line 79 of file XPath.hpp.

◆ PSEUDONAME_TEXT

const XalanDOMChar XPath::PSEUDONAME_TEXT[]
static

Definition at line 80 of file XPath.hpp.


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.11
Copyright © 1999-2012 The Apache Software Foundation.
All Rights Reserved.

Apache Logo