Xalan-C++ API Reference  1.12.0
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Friends | List of all members
xalanc::XPath Class Reference

#include <xalanc/XPath/XPath.hpp>

Classes

class  NodeTester
 
class  TargetData
 

Public Types

enum  eMatchScore {
  eMatchScoreNone, eMatchScoreNodeTest, eMatchScoreNSWild, eMatchScoreQName,
  eMatchScoreOther
}
 
typedef xercesc::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 67 of file XPath.hpp.

Member Typedef Documentation

◆ CurrentNodePushAndPop

Definition at line 78 of file XPath.hpp.

◆ FunctionTableType

Definition at line 977 of file XPath.hpp.

◆ GetCachedString

Definition at line 76 of file XPath.hpp.

◆ LocatorType

typedef xercesc::Locator xalanc::XPath::LocatorType

Definition at line 71 of file XPath.hpp.

◆ MemberFunctionPtr

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

Definition at line 254 of file XPath.hpp.

◆ OpCodeMapPositionType

Definition at line 73 of file XPath.hpp.

◆ OpCodeMapValueType

Definition at line 74 of file XPath.hpp.

◆ PrefixResolverSetAndRestore

Definition at line 77 of file XPath.hpp.

◆ TargetDataVectorType

Definition at line 148 of file XPath.hpp.

◆ TokenQueuePositionType

Definition at line 75 of file XPath.hpp.

Member Enumeration Documentation

◆ eMatchScore

Enumerator
eMatchScoreNone 
eMatchScoreNodeTest 
eMatchScoreNSWild 
eMatchScoreQName 
eMatchScoreOther 

Definition at line 89 of file XPath.hpp.

Constructor & Destructor Documentation

◆ XPath()

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

Construct an XPath.

Parameters
theLocatorThe applicable Locator, if any.

◆ ~XPath()

xalanc::XPath::~XPath ( )

Member Function Documentation

◆ And()

bool xalanc::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* xalanc::XPath::create ( MemoryManager &  theManager,
const Locator *  theLocator = 0 
)
static

◆ destroyTable()

static void xalanc::XPath::destroyTable ( )
inlinestatic

Definition at line 1003 of file XPath.hpp.

◆ div() [1/2]

double xalanc::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 xalanc::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 xalanc::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 xalanc::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 xalanc::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 xalanc::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 629 of file XPath.hpp.

References xalanc::XPathExecutionContext::getCurrentNode().

◆ execute() [2/24]

void xalanc::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 657 of file XPath.hpp.

References xalanc::XPathExecutionContext::getCurrentNode().

◆ execute() [3/24]

void xalanc::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 687 of file XPath.hpp.

References xalanc::XPathExecutionContext::getCurrentNode().

◆ execute() [4/24]

void xalanc::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 746 of file XPath.hpp.

References xalanc::XPathExecutionContext::getCurrentNode().

◆ execute() [5/24]

XObjectPtr xalanc::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 789 of file XPath.hpp.

References xalanc::XPathExecutionContext::getCurrentNode().

◆ execute() [6/24]

void xalanc::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 718 of file XPath.hpp.

References xalanc::XPathExecutionContext::getCurrentNode().

◆ execute() [7/24]

const XObjectPtr xalanc::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 309 of file XPath.hpp.

◆ execute() [8/24]

void xalanc::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 333 of file XPath.hpp.

◆ execute() [9/24]

void xalanc::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 358 of file XPath.hpp.

◆ execute() [10/24]

void xalanc::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 410 of file XPath.hpp.

◆ execute() [11/24]

const XObjectPtr xalanc::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 447 of file XPath.hpp.

◆ execute() [12/24]

void xalanc::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 384 of file XPath.hpp.

◆ execute() [13/24]

const XObjectPtr xalanc::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() [14/24]

void xalanc::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() [15/24]

void xalanc::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() [16/24]

void xalanc::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() [17/24]

const XObjectPtr xalanc::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() [18/24]

void xalanc::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() [19/24]

const XObjectPtr xalanc::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 472 of file XPath.hpp.

References xalanc::XPathExecutionContext::getCurrentNode(), and xalanc::XPathExecutionContext::getPrefixResolver().

◆ execute() [20/24]

void xalanc::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 493 of file XPath.hpp.

References xalanc::XPathExecutionContext::getCurrentNode(), and xalanc::XPathExecutionContext::getPrefixResolver().

◆ execute() [21/24]

void xalanc::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 517 of file XPath.hpp.

References xalanc::XPathExecutionContext::getCurrentNode(), and xalanc::XPathExecutionContext::getPrefixResolver().

◆ execute() [22/24]

void xalanc::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 567 of file XPath.hpp.

References xalanc::XPathExecutionContext::getCurrentNode(), and xalanc::XPathExecutionContext::getPrefixResolver().

◆ execute() [23/24]

const XObjectPtr xalanc::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 604 of file XPath.hpp.

References xalanc::XPathExecutionContext::getCurrentNode(), and xalanc::XPathExecutionContext::getPrefixResolver().

◆ execute() [24/24]

void xalanc::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 542 of file XPath.hpp.

References xalanc::XPathExecutionContext::getCurrentNode(), and xalanc::XPathExecutionContext::getPrefixResolver().

◆ executeMore() [1/6]

const XObjectPtr xalanc::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 xalanc::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 xalanc::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 xalanc::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() [5/6]

const XObjectPtr xalanc::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

◆ executeMore() [6/6]

void xalanc::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

◆ extfunction()

const XObjectPtr xalanc::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 2072 of file XPath.hpp.

References xalanc::XPathExecutionContext::extFunction().

◆ findAncestors()

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

◆ findAncestorsOrSelf()

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

◆ findAttributes()

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

◆ findChildren()

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

◆ findDescendants()

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

◆ findFollowing()

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

◆ findFollowingSiblings()

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

◆ findNamespace()

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

◆ findNodeSet()

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

◆ findNodesOnUnknownAxis()

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

◆ findParent()

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

◆ findPreceeding()

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

◆ findPreceedingSiblings()

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

◆ findRoot()

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

◆ findSelf()

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

◆ function()

const XObjectPtr xalanc::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 2109 of file XPath.hpp.

◆ functionBoolean()

bool xalanc::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 2197 of file XPath.hpp.

◆ functionCeiling()

double xalanc::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 2326 of file XPath.hpp.

◆ functionCount()

double xalanc::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 xalanc::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 2309 of file XPath.hpp.

◆ functionLast()

double xalanc::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 2146 of file XPath.hpp.

References xalanc::XPathExecutionContext::getContextNodeListLength().

◆ functionLocalName() [1/2]

const XalanDOMString& xalanc::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& xalanc::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& xalanc::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 2218 of file XPath.hpp.

◆ functionName() [2/2]

const XalanDOMString& xalanc::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 xalanc::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 2178 of file XPath.hpp.

◆ functionNumber() [1/2]

double xalanc::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 2288 of file XPath.hpp.

◆ functionNumber() [2/2]

double xalanc::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 2270 of file XPath.hpp.

◆ functionPosition()

double xalanc::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 2126 of file XPath.hpp.

References xalanc::XPathExecutionContext::getContextNodeListPosition().

◆ functionRound()

double xalanc::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 2343 of file XPath.hpp.

◆ functionStringLength() [1/2]

double xalanc::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.

◆ functionStringLength() [2/2]

double xalanc::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.

◆ functionSum()

double xalanc::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& xalanc::XPath::getExpression ( )
inline

Retrieve a reference to the current expression.

Returns
current expression

Definition at line 814 of file XPath.hpp.

◆ getExpression() [2/2]

const XPathExpression& xalanc::XPath::getExpression ( ) const
inline

Retrieve a reference to the current expression.

Returns
current expression

Definition at line 825 of file XPath.hpp.

◆ getFunctionTable()

static const FunctionTableType& xalanc::XPath::getFunctionTable ( )
inlinestatic

Retrieve the table of installed functions.

Returns
function table

Definition at line 985 of file XPath.hpp.

◆ getInstalledFunctionNames()

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

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

Parameters
theIteratorvector added to

Definition at line 997 of file XPath.hpp.

◆ getInStylesheet()

bool xalanc::XPath::getInStylesheet ( ) const
inline

Definition at line 1009 of file XPath.hpp.

◆ getLocator()

const Locator* xalanc::XPath::getLocator ( ) const
inline

Definition at line 1021 of file XPath.hpp.

◆ getMatchScore() [1/2]

eMatchScore xalanc::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

◆ getMatchScore() [2/2]

eMatchScore xalanc::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

◆ getMatchScoreValue()

static double xalanc::XPath::getMatchScoreValue ( eMatchScore  score)
inlinestatic

Definition at line 831 of file XPath.hpp.

◆ getMemoryManager()

MemoryManager& xalanc::XPath::getMemoryManager ( )
inline

Definition at line 178 of file XPath.hpp.

◆ getNumericOperand()

double xalanc::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 xalanc::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 xalanc::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 1881 of file XPath.hpp.

◆ group() [2/6]

void xalanc::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 1897 of file XPath.hpp.

◆ group() [3/6]

void xalanc::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 1914 of file XPath.hpp.

◆ group() [4/6]

void xalanc::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 1950 of file XPath.hpp.

◆ group() [5/6]

void xalanc::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 1973 of file XPath.hpp.

References xalanc::MutableNodeRefList::addNodesInDocOrder(), xalanc::XObject::nodeset(), xalanc::XObjectPtr::null(), and xalanc::MutableNodeRefList::setDocumentOrder().

◆ group() [6/6]

void xalanc::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 1931 of file XPath.hpp.

◆ gt()

bool xalanc::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 xalanc::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 xalanc::XPath::handleFoundIndex ( XPathExecutionContext executionContext,
XalanNode localContext,
OpCodeMapPositionType  startOpPos 
) const
protected

◆ handleFoundIndexPositional()

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

◆ initialize()

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

Perform static initialization.

See class XPathInit.

◆ installFunction() [1/2]

static void xalanc::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 933 of file XPath.hpp.

◆ installFunction() [2/2]

static void xalanc::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 918 of file XPath.hpp.

◆ isInstalledFunction()

static bool xalanc::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 972 of file XPath.hpp.

◆ literal() [1/5]

void xalanc::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() [2/5]

void xalanc::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() [3/5]

void xalanc::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.

◆ literal() [4/5]

void xalanc::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]

const XObjectPtr xalanc::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.

◆ locationPath() [1/6]

const XObjectPtr xalanc::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 xalanc::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 xalanc::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 xalanc::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() [5/6]

void xalanc::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 1324 of file XPath.hpp.

◆ locationPath() [6/6]

void xalanc::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

◆ lt()

bool xalanc::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 xalanc::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 xalanc::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 xalanc::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 xalanc::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 xalanc::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 xalanc::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 xalanc::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 xalanc::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 xalanc::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 xalanc::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 xalanc::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]

void xalanc::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() [3/5]

void xalanc::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

◆ numberlit() [4/5]

void xalanc::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]

const XObjectPtr xalanc::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.

◆ Or()

bool xalanc::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 xalanc::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 xalanc::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 xalanc::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 895 of file XPath.hpp.

◆ predicates()

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

◆ runExtFunction()

const XObjectPtr xalanc::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 xalanc::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 xalanc::XPath::setInStylesheet ( bool  fValue)
inline

Definition at line 1015 of file XPath.hpp.

◆ setLocator()

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

Definition at line 1027 of file XPath.hpp.

◆ shrink()

void xalanc::XPath::shrink ( )
inline

Shrink internal tables.

Definition at line 189 of file XPath.hpp.

◆ step()

void xalanc::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* xalanc::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 xalanc::XPath::terminate ( )
static

Perform static shut down.

See class XPathInit.

◆ uninstallFunction() [1/2]

static bool xalanc::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 960 of file XPath.hpp.

◆ uninstallFunction() [2/2]

static bool xalanc::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 948 of file XPath.hpp.

◆ Union() [1/6]

const XObjectPtr xalanc::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 xalanc::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 xalanc::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 xalanc::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() [5/6]

void xalanc::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.

◆ Union() [6/6]

void xalanc::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.

◆ variable()

const XObjectPtr xalanc::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 1235 of file XPath.hpp.

Member Data Documentation

◆ PSEUDONAME_ANY

const XalanDOMChar xalanc::XPath::PSEUDONAME_ANY[]
static

Definition at line 81 of file XPath.hpp.

◆ PSEUDONAME_COMMENT

const XalanDOMChar xalanc::XPath::PSEUDONAME_COMMENT[]
static

Definition at line 84 of file XPath.hpp.

◆ PSEUDONAME_NODE

const XalanDOMChar xalanc::XPath::PSEUDONAME_NODE[]
static

Definition at line 87 of file XPath.hpp.

◆ PSEUDONAME_OTHER

const XalanDOMChar xalanc::XPath::PSEUDONAME_OTHER[]
static

Definition at line 86 of file XPath.hpp.

◆ PSEUDONAME_PI

const XalanDOMChar xalanc::XPath::PSEUDONAME_PI[]
static

Definition at line 85 of file XPath.hpp.

◆ PSEUDONAME_ROOT

const XalanDOMChar xalanc::XPath::PSEUDONAME_ROOT[]
static

Definition at line 82 of file XPath.hpp.

◆ PSEUDONAME_TEXT

const XalanDOMChar xalanc::XPath::PSEUDONAME_TEXT[]
static

Definition at line 83 of file XPath.hpp.


The documentation for this class was generated from the following file: