Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

XPath Class Reference

List of all members.

Public Types

Public Member Functions

Static Public Member Functions

Static Public Attributes

Protected Member Functions

Friends

Classes


Member Typedef Documentation

typedef XPathExecutionContext::CurrentNodePushAndPop XPath::CurrentNodePushAndPop
 

typedef XPathFunctionTable XPath::FunctionTableType
 

typedef XPathExecutionContext::GetAndReleaseCachedString XPath::GetCachedString
 

typedef XERCES_CPP_NAMESPACE_QUALIFIER Locator XPath::LocatorType
 

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

typedef XPathExpression::OpCodeMapPositionType XPath::OpCodeMapPositionType
 

typedef XPathExpression::OpCodeMapValueType XPath::OpCodeMapValueType
 

typedef XPathExecutionContext::PrefixResolverSetAndRestore XPath::PrefixResolverSetAndRestore
 

typedef XalanVector<TargetData> XPath::TargetDataVectorType
 

typedef XPathExpression::TokenQueuePositionType XPath::TokenQueuePositionType
 


Member Enumeration Documentation

enum XPath::eMatchScore
 

Enumeration values:
eMatchScoreNone 
eMatchScoreNodeTest 
eMatchScoreNSWild 
eMatchScoreQName 
eMatchScoreOther 


Constructor & Destructor Documentation

XPath::XPath (  MemoryManagerType &  theManager,
const LocatorType *  theLocator = 0
)  [explicit]
 

Construct an XPath.

Parameters:
theLocator The applicable LocatorType, if any.

XPath::~XPath (   ) 
 


Member Function Documentation

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

OR two expressions and return the boolean result.

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

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

static void XPath::destroyTable (   )  [static]
 

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

Divide a number.

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

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

Divide a number.

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

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

Helper function to get match score.

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

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

Tell if two expressions are functionally equal.

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

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

Execute the XPath from the provided context.

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

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

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

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

Execute the XPath from the provided context.

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

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

Execute the XPath from the provided context.

The result is appended to the supplied string.

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

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

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

Execute the XPath from the provided context.

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

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

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

Execute the XPath from the provided context.

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

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

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

Execute the XPath from the provided context.

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

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

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

Execute the XPath from the provided context.

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

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

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

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

Execute the XPath from the provided context.

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

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

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

Execute the XPath from the provided context.

The result is appended to the supplied string.

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

Parameters:
executionContext current execution context
result the string result

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

Execute the XPath from the provided context.

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

Parameters:
executionContext current execution context
result the numeric result

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

Execute the XPath from the provided context.

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

Parameters:
executionContext current execution context
result the boolean result

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

Execute the XPath from the provided context.

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

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

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

Execute the XPath from the provided context.

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

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

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

Execute the XPath from the provided context.

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

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

Execute the XPath from the provided context.

The result is appended to the supplied string.

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

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

Execute the XPath from the provided context.

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

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

Execute the XPath from the provided context.

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

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

Execute the XPath from the provided context.

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

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

Execute the XPath from the provided context.

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

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

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

Execute the XPath from the provided context.

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

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

Execute the XPath from the provided context.

The result is appended to the supplied string.

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

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

Execute the XPath from the provided context.

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

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

Execute the XPath from the provided context.

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

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

Execute the XPath from the provided context.

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

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

Execute the XPath from the provided context.

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

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

Execute the XPath from the provided context.

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

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

Execute the XPath from the provided context.

The result is appended to the supplied string.

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

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

Execute the XPath from the provided context.

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

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

Execute the XPath from the provided context.

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

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

Execute the XPath from the provided context.

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

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

Handle an extension function.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Handle a built-in function.

Parameters:
context The current source tree context node.
funcID The function ID.
argVec The arguments for the function.
executionContext current execution context
Returns:
the result of the function.

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

Handle the built-in function "boolean".

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

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

Handle the built-in function "ceiling".

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

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

Handle the built-in function "count".

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

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

Handle the built-in function "floor".

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

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

Handle the built-in function "last".

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

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

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

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

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

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

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

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

Handle the built-in function "name".

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

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

Handle the built-in function "name".

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

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

Handle the built-in function "not".

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

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

Handle the built-in function "number".

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

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

Handle the built-in function "number".

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

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

Handle the built-in function "position".

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

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

Handle the built-in function "round".

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

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

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

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

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

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

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

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

Handle the built-in function "sum".

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

const XPathExpression& XPath::getExpression (   )  const
 

Retrieve a reference to the current expression.

Returns:
current expression

XPathExpression& XPath::getExpression (   ) 
 

Retrieve a reference to the current expression.

Returns:
current expression

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

Retrieve the table of installed functions.

Returns:
function table

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

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

Parameters:
theIterator vector added to

bool XPath::getInStylesheet (   )  const
 

const LocatorType* XPath::getLocator (   )  const
 

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

Get the match score for the specified node.

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

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

Get the match score for the specified node.

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

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

MemoryManagerType& XPath::getMemoryManager (   ) 
 

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

Get a numeric operand for an expression.

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

void XPath::getTargetData (  TargetDataVectorType &  targetData  )  const
 

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

Parameters:
targetData The vector for the data

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

Execute an expression as a group.

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

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

Execute an expression as a group.

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

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

Execute an expression as a group.

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

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

Execute an expression as a group.

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

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

Execute an expression as a group.

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

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

Execute an expression as a group.

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

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

Tell if one argument is greater than the other argument.

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

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

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

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

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

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

static void XPath::initialize (  MemoryManagerType &  theManager  )  [static]
 

Perform static initialization.

See class XPathInit.

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

Install a built-in function.

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

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

Install a built-in function.

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

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

Whether the named function is installed in the function table.

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

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

Get a literal value.

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

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

Get a literal value.

The value is appended to the supplied string.

Parameters:
opPos The current position in the Op Map.
theResult The string.

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

Get a literal value as a number.

Parameters:
opPos The current position in the Op Map.
theResult The value.

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

Get a literal value as a boolean.

Parameters:
opPos The current position in the Op Map.
theResult The value.

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

Get a literal value.

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

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

Execute a location path.

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

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

Execute a location path.

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

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

Execute a location path.

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

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

Execute a location path.

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

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

Execute a location path.

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

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

Execute a location path.

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

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

Tell if one argument is less than the other argument.

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

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

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

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

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

Give the difference of two arguments.

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

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

Give the difference of two arguments.

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

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

Return the remainder from a truncating division.

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

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

Return the remainder from a truncating division.

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

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

Multiply two arguments.

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

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

Multiply two arguments.

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

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

Return the negation of a number.

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

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

Return the negation of a number.

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

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

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

Tell if two expressions are functionally not equal.

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

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

Get a literal value.

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

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

Get a literal value.

The value is appended to the supplied string.

Parameters:
opPos The current position in the Op Map.
theResult The string.

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

Get a literal value as a boolean.

Parameters:
opPos The current position in the Op Map.
theResult The string.

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

Get a literal value.

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

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

Get a literal value.

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

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

OR two expressions and return the boolean result.

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

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

Give the sum of two arguments.

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

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

Give the sum of two arguments.

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

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

Evaluate a predicate.

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

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

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

Setup for and run an extension function.

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

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

Setup for and run a function.

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

void XPath::setInStylesheet (  bool  fValue  ) 
 

void XPath::setLocator (  const LocatorType *  theLocator  ) 
 

void XPath::shrink (   ) 
 

Shrink internal tables.

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

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

Execute a step in a location path.

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

static void XPath::terminate (   )  [static]
 

Perform static shut down.

See class XPathInit.

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

Remove a named function from the function table.

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

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

Remove a named function from the function table.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Get the value of a variable.

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


Friends And Related Function Documentation

friend class NodeTester [friend]
 


Member Data Documentation

const XalanDOMChar XPath::PSEUDONAME_ANY[] [static]
 

const XalanDOMChar XPath::PSEUDONAME_COMMENT[] [static]
 

const XalanDOMChar XPath::PSEUDONAME_NODE[] [static]
 

const XalanDOMChar XPath::PSEUDONAME_OTHER[] [static]
 

const XalanDOMChar XPath::PSEUDONAME_PI[] [static]
 

const XalanDOMChar XPath::PSEUDONAME_ROOT[] [static]
 

const XalanDOMChar XPath::PSEUDONAME_TEXT[] [static]
 


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

Interpreting class diagrams

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

dot

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

Apache Logo