Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
ExtensionFunctionHandler Class Reference

Class handling an extension namespace for XPath. More...

Inheritance diagram for ExtensionFunctionHandler:
ExtensionNSHandler

List of all members.

Public Types

Public Member Functions

Protected Member Functions

Protected Attributes

Static Protected Attributes


Detailed Description

Class handling an extension namespace for XPath.

Provides functions to test a function's existence and call a function

Author:
Sanjiva Weerawarana (sanjiva@watson.ibm.com)

Member Typedef Documentation

Vector of pointers to function arguments.


Constructor & Destructor Documentation

ExtensionFunctionHandler::ExtensionFunctionHandler ( const XalanDOMString namespaceUri,
MemoryManagerType theManager 
)

Construct a new extension namespace handler for a given extension NS.

This doesn't do anything - just hang on to the namespace URI.

Parameters:
namespaceUrithe extension namespace URI that I'm implementing
ExtensionFunctionHandler::ExtensionFunctionHandler ( MemoryManagerType theManager,
const XalanDOMString namespaceUri,
const XalanDOMString funcNames,
const XalanDOMString lang,
const XalanDOMString srcURL,
const XalanDOMString scriptSrc 
)

Construct a new extension namespace handler given all the information needed.

Parameters:
namespaceUrithe extension namespace URI that I'm implementing
funcNamesstring containing list of functions of extension NS
langlanguage of code implementing the extension
srcURLvalue of src attribute (if any) - treated as a URL or a classname depending on the value of lang. If srcURL is not null, then scriptSrc is ignored.
scriptSrcthe actual script code (if any)
virtual ExtensionFunctionHandler::~ExtensionFunctionHandler ( ) [virtual]

Member Function Documentation

virtual XObjectPtr ExtensionFunctionHandler::callFunction ( const XalanDOMString funcName,
const ArgVectorType args 
) [virtual]

Process a call to a function.

Parameters:
funcNameFunction name.
argsThe arguments of the function call.
Returns:
the return value of the function evaluation.
Exceptions:
XSLProcessorExceptionthrown if something goes wrong while running the extension handler.
MalformedURLExceptionif loading trouble
FileNotFoundExceptionif loading trouble
IOExceptionif loading trouble
SAXExceptionif parsing trouble
MemoryManagerType& ExtensionFunctionHandler::getMemoryManager ( )
virtual bool ExtensionFunctionHandler::isFunctionAvailable ( const XalanDOMString function) const [virtual]

Tests whether a certain function name is known within this namespace.

Parameters:
functionname of the function being tested
Returns:
true if its known, false if not.
virtual void ExtensionFunctionHandler::setFunctions ( const XalanDOMString funcNames) [virtual]

Set function local parts of extension NS.

Parameters:
functionswhitespace separated list of function names defined by this extension namespace.

Reimplemented in ExtensionNSHandler.

virtual void ExtensionFunctionHandler::setScript ( const XalanDOMString lang,
const XalanDOMString srcURL,
const XalanDOMString scriptSrc 
) [virtual]

Set the script data for this extension NS.

If srcURL is !null then the script body is read from that URL. If not the scriptSrc is used as the src. This method does not actually execute anything - that's done when the component is first hit by the user by an element or a function call.

Parameters:
langlanguage of the script.
srcURLvalue of src attribute (if any) - treated as a URL or a classname depending on the value of lang. If srcURL is not null, then scriptSrc is ignored.
scriptSrcthe actual script code (if any)

Reimplemented in ExtensionNSHandler.

virtual void ExtensionFunctionHandler::startupComponent ( ) [protected, virtual]

Start the component up by executing any script that needs to run at startup time.

This needs to happen before any functions can be called on the component.

Exceptions:
XPathProcessorExceptionif something bad happens.

Reimplemented in ExtensionNSHandler.


Member Data Documentation

const XalanDOMChar ExtensionFunctionHandler::s_tokenDelimiterCharacters[] [static, protected]

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