## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.10

Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members

# Function Class Reference

`#include <Function.hpp>`

Inheritance diagram for Function:

[legend]
List of all members.

## Public Types

- typedef XERCES_CPP_NAMESPACE_QUALIFIER
  Locator LocatorType
- typedef XPathExecutionContext::XObjectArgVectorType XObjectArgVectorType

## Public Methods

- Function ()
- virtual ~Function ()
- virtual XObjectPtr execute (XPathExecutionContext &executionContext, XalanNode *context, const XObjectArgVectorType &args, const LocatorType *locator) const
    Execute an XPath function object. More...
- virtual XObjectPtr execute (XPathExecutionContext &executionContext, XalanNode *context, const LocatorType *locator) const
    Execute an XPath function object. More...
- virtual XObjectPtr execute (XPathExecutionContext &executionContext, XalanNode *context, const XObjectPtr arg, const LocatorType *locator) const
    Execute an XPath function object. More...
- virtual XObjectPtr execute (XPathExecutionContext &executionContext, XalanNode *context, const XObjectPtr arg1, const XObjectPtr arg2, const LocatorType *locator) const
    Execute an XPath function object. More...
- virtual XObjectPtr execute (XPathExecutionContext &executionContext, XalanNode *context, const XObjectPtr arg1, const XObjectPtr arg2, const XObjectPtr arg3, const LocatorType *locator) const
    Execute an XPath function object. More...
- virtual Function* clone (MemoryManagerType &theManager) const=0
    Create a copy of the function object. More...

## Protected Methods

- virtual const XalanDOMString& getError (XalanDOMString &theBuffer) const=0
    Get the error message to report when the function is called with the wrong number of arguments. More...

## Member Typedef Documentation

typedef XERCES_CPP_NAMESPACE_QUALIFIER Locator Function::LocatorType

typedef XPathExecutionContext::XObjectArgVectorType Function::XObjectArgVectorType

## Constructor & Destructor Documentation

Function::Function ( | )`[explicit]`

Function::~Function ( | )`[virtual]`

## Member Function Documentation

Function * Function::clone ( | MemoryManagerType & theManager ) const`[pure virtual]`

Create a copy of the function object.

Returns:
  pointer to the new object

Reimplemented in XalanEXSLTFunctionNodeSet, XalanEXSLTFunctionObjectType, XalanEXSLTFunctionDateTime, XalanEXSLTFunctionEvaluate, XalanEXSLTFunctionAbs, XalanEXSLTFunctionRandom, XalanEXSLTFunctionAcos, XalanEXSLTFunctionAsin, XalanEXSLTFunctionAtan, XalanEXSLTFunctionAtan2, XalanEXSLTFunctionConstant, XalanEXSLTFunctionCos, XalanEXSLTFunctionExp, XalanEXSLTFunctionHighest, XalanEXSLTFunctionLog, XalanEXSLTFunctionLowest, XalanEXSLTFunctionMax, XalanEXSLTFunctionMin, XalanEXSLTFunctionPower, XalanEXSLTFunctionSin, XalanEXSLTFunctionSqrt, XalanEXSLTFunctionTan, XalanEXSLTFunctionDifference, XalanEXSLTFunctionDistinct, XalanEXSLTFunctionHasSameNode, XalanEXSLTFunctionIntersection, XalanEXSLTFunctionLeading, XalanEXSLTFunctionTrailing, XalanEXSLTFunctionAlign, XalanEXSLTFunctionConcat, XalanEXSLTFunctionPadding, XalanEXSLTFunctionEncodeURI, XalanEXSLTFunctionDecodeURI, FunctionDifference, FunctionDistinct, FunctionEvaluate, FunctionHasSameNodes, FunctionIntersection, FunctionNodeSet, FunctionConcat, FunctionContains, FunctionID, FunctionLang, FunctionNamespaceURI, FunctionNormalizeSpace, FunctionStartsWith, FunctionString, FunctionSubstring, FunctionSubstringAfter, FunctionSubstringBefore, FunctionTranslate, FunctionCurrent, FunctionDocument, FunctionElementAvailable, FunctionFormatNumber, FunctionFunctionAvailable, FunctionGenerateID, FunctionKey, FunctionSystemProperty, and FunctionUnparsedEntityURI.

XObjectPtr Function::execute ( | XPathExecutionContext & executionContext,
| XalanNode * context,
| const XObjectPtr arg1,
| const XObjectPtr arg2,
| const XObjectPtr arg3,
| const LocatorType * locator ) const`[virtual]`

Execute an XPath function object.

The function must return a valid object. Called if function has three parameters.

Parameters:

  executionContext | executing context
  context | current context node
  arg1 | pointer to XObject arguments
  arg2 | pointer to XObject argument
  arg3 | pointer to XObject argument
  locator | LocatorType instance for the XPath expression that contains the function call

Returns:
  pointer to the result XObject

Reimplemented in FunctionConcat, FunctionSubstring, FunctionTranslate, and FunctionFormatNumber.

XObjectPtr Function::execute ( | XPathExecutionContext & executionContext,
| XalanNode * context,
| const XObjectPtr arg1,
| const XObjectPtr arg2,
| const LocatorType * locator ) const`[virtual]`

Execute an XPath function object.

The function must return a valid object. Called if function has two parameters.

Parameters:

  executionContext | executing context
  context | current context node
  arg1 | pointer to XObject argument
  arg2 | pointer to XObject argument
  locator | LocatorType instance for the XPath expression that contains the function call

Returns:
  pointer to the result XObject

Reimplemented in FunctionConcat, FunctionContains, FunctionStartsWith, FunctionSubstring, FunctionSubstringAfter, FunctionSubstringBefore, FunctionDocument, FunctionFormatNumber, and FunctionKey.

XObjectPtr Function::execute ( | XPathExecutionContext & executionContext,
| XalanNode * context,
| const XObjectPtr arg,
| const LocatorType * locator ) const`[virtual]`

Execute an XPath function object.

The function must return a valid object. Called if function has one parameter.

Parameters:

  executionContext | executing context
  context | current context node
  arg | pointer to XObject argument
  locator | LocatorType instance for the XPath expression that contains the function call

Returns:
  pointer to the result XObject

Reimplemented in FunctionID, FunctionLang, FunctionNamespaceURI, FunctionNormalizeSpace, FunctionString, FunctionDocument, FunctionElementAvailable, FunctionFunctionAvailable, FunctionGenerateID, FunctionSystemProperty, and FunctionUnparsedEntityURI.

XObjectPtr Function::execute ( | XPathExecutionContext & executionContext,
| XalanNode * context,
| const LocatorType * locator ) const`[virtual]`

Execute an XPath function object.

The function must return a valid object. Called if function has no parameters.

Parameters:

  executionContext | executing context
  context | current context node
  locator | LocatorType instance for the XPath expression that contains the function call

Returns:
  pointer to the result XObject

Reimplemented in FunctionNamespaceURI, FunctionNormalizeSpace, FunctionString, FunctionCurrent, and FunctionGenerateID.

XObjectPtr Function::execute ( | XPathExecutionContext & executionContext,
| XalanNode * context,
| const XObjectArgVectorType & args,
| const LocatorType * locator ) const`[virtual]`

Execute an XPath function object.

The function must return a valid object. Extension functions should override this version of execute(), rather than one of the other calls designed for a specific number of arguments, since the extension function mechanism will call this version first. Extension functions that accept more than three arguments _must_ override this version.

Parameters:

  executionContext | executing context
  context | current context node
  args | vector of pointers to XObject arguments
  locator | LocatorType instance for the XPath expression that contains the function call

Returns:
  pointer to the result XObject

Reimplemented in XalanEXSLTFunctionObjectType, XalanEXSLTFunctionDateTime, XalanEXSLTFunctionEvaluate, XalanEXSLTFunctionAbs, XalanEXSLTFunctionRandom, XalanEXSLTFunctionAcos, XalanEXSLTFunctionAsin, XalanEXSLTFunctionAtan, XalanEXSLTFunctionAtan2, XalanEXSLTFunctionConstant, XalanEXSLTFunctionCos, XalanEXSLTFunctionExp, XalanEXSLTFunctionHighest, XalanEXSLTFunctionLog, XalanEXSLTFunctionLowest, XalanEXSLTFunctionMax, XalanEXSLTFunctionMin, XalanEXSLTFunctionPower, XalanEXSLTFunctionSin, XalanEXSLTFunctionSqrt, XalanEXSLTFunctionTan, XalanEXSLTFunctionHasSameNode, XalanEXSLTFunctionLeading, XalanEXSLTFunctionTrailing, XalanEXSLTFunctionAlign, XalanEXSLTFunctionConcat, XalanEXSLTFunctionPadding, XalanEXSLTFunctionEncodeURI, XalanEXSLTFunctionDecodeURI, FunctionDifference, FunctionDistinct, FunctionEvaluate, FunctionHasSameNodes, FunctionIntersection, FunctionNodeSet, and FunctionConcat.

const XalanDOMString & Function::getError ( | XalanDOMString & theBuffer ) const`[protected, pure virtual]`

Get the error message to report when the function is called with the wrong number of arguments.

Returns:
  function error message

Reimplemented in XalanEXSLTFunctionNodeSet, XalanEXSLTFunctionObjectType, XalanEXSLTFunctionDateTime, XalanEXSLTFunctionEvaluate, XalanEXSLTFunctionAbs, XalanEXSLTFunctionRandom, XalanEXSLTFunctionAcos, XalanEXSLTFunctionAsin, XalanEXSLTFunctionAtan, XalanEXSLTFunctionAtan2, XalanEXSLTFunctionConstant, XalanEXSLTFunctionCos, XalanEXSLTFunctionExp, XalanEXSLTFunctionHighest, XalanEXSLTFunctionLog, XalanEXSLTFunctionLowest, XalanEXSLTFunctionMax, XalanEXSLTFunctionMin, XalanEXSLTFunctionPower, XalanEXSLTFunctionSin, XalanEXSLTFunctionSqrt, XalanEXSLTFunctionTan, XalanEXSLTFunctionDifference, XalanEXSLTFunctionDistinct, XalanEXSLTFunctionHasSameNode, XalanEXSLTFunctionIntersection, XalanEXSLTFunctionLeading, XalanEXSLTFunctionTrailing, XalanEXSLTFunctionAlign, XalanEXSLTFunctionConcat, XalanEXSLTFunctionPadding, XalanEXSLTFunctionEncodeURI, XalanEXSLTFunctionDecodeURI, FunctionDifference, FunctionDistinct, FunctionEvaluate, FunctionHasSameNodes, FunctionIntersection, FunctionNodeSet, FunctionConcat, FunctionContains, FunctionID, FunctionLang, FunctionNamespaceURI, FunctionNormalizeSpace, FunctionStartsWith, FunctionString, FunctionSubstring, FunctionSubstringAfter, FunctionSubstringBefore, FunctionTranslate, FunctionDocument, FunctionFunctionAvailable, FunctionGenerateID, FunctionKey, FunctionSystemProperty, and FunctionUnparsedEntityURI.

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

- Function.hpp

Interpreting class diagrams

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

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