class MXmlEngXPathExtensionFunction |
Provides an interface for an object to participate in the evaluation of XPath expression via a XPath function call.
Objects that implement the MXmlEngXPathExtensionFunction interface can be registered in a XmlEngXPathConfiguration object for global action (across all evaluations globally).
XmlEngXPathConfiguration::AddExtensionFunctionL()
When the extension function is no longer required, it must be deregistered by calling XmlEngXPathConfiguration::RemoveExtensionFunction().
Public Member Functions | |
---|---|
TXmlEngEvaluationStatus | Evaluate(MXmlEngXPathEvaluationContext *) |
TInt | MaxArity() |
TInt | MinArity() |
Public Member Enumerations | |
---|---|
enum | TXmlEngEvaluationStatus { ESucceeded, EError, EInvalidArgumentType, EInvalidArgumentNumber } |
TXmlEngEvaluationStatus | Evaluate | ( | MXmlEngXPathEvaluationContext * | aEvalCtxt | ) | [pure virtual] |
Called to evaluate the extension function.
This function is called only if simple arity constraints (min/max number of arguments) are satisfied. The implementation of this function may need to check further that the types of arguments and their positions in the function call match function-specific requirements.
ESucceeded if evaluation success, otherwise one of the errors defined in TXmlEngEvaluationStatus.
MXmlEngXPathEvaluationContext * aEvalCtxt | Evaluation context, which contains data about arguments and provides a number of methods for setting the result of the extension function. |
TInt | MaxArity | ( | ) | [inline, virtual] |
Gets the maximum number of arguments the function can take.
The maximum number of arguments or -1 if unbounded
TInt | MinArity | ( | ) | [inline, virtual] |
Gets the minimum number of arguments the function can take. Minimum number of arguments
Evaluation status
ESucceeded |
Evaluation was accomplished successfully |
EError |
An exceptional condition occurs |
EInvalidArgumentType |
Type of argument does not match function specification |
EInvalidArgumentNumber |
Number of arguments do not match function specification |