org.apache.xalan.extensions

Class ExtensionHandler

public abstract class ExtensionHandler extends Object

Abstract base class for handling an extension namespace for XPath. Provides functions to test a function's existence and call a function. Also provides functions for calling an element and testing for an element's existence.

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

UNKNOWN: internal

Method Summary
abstract ObjectcallFunction(String funcName, Vector args, Object methodKey, ExpressionContext exprContext)
Process a call to a function.
abstract ObjectcallFunction(FuncExtFunction extFunction, Vector args, ExpressionContext exprContext)
Process a call to a function.
abstract booleanisElementAvailable(String element)
Tests whether a certain element name is known within this namespace.
abstract booleanisFunctionAvailable(String function)
Tests whether a certain function name is known within this namespace.
abstract voidprocessElement(String localPart, ElemTemplateElement element, TransformerImpl transformer, Stylesheet stylesheetTree, Object methodKey)
Process a call to this extension namespace via an element.

Method Detail

callFunction

public abstract Object callFunction(String funcName, Vector args, Object methodKey, ExpressionContext exprContext)
Process a call to a function.

Parameters: funcName Function name. args The arguments of the function call. methodKey A key that uniquely identifies this class and method call. exprContext The context in which this expression is being executed.

Returns: the return value of the function evaluation.

Throws: TransformerException if parsing trouble

callFunction

public abstract Object callFunction(FuncExtFunction extFunction, Vector args, ExpressionContext exprContext)
Process a call to a function.

Parameters: extFunction The XPath extension function. args The arguments of the function call. exprContext The context in which this expression is being executed.

Returns: the return value of the function evaluation.

Throws: TransformerException if parsing trouble

isElementAvailable

public abstract boolean isElementAvailable(String element)
Tests whether a certain element name is known within this namespace.

Parameters: element Name of element to check

Returns: true if its known, false if not.

isFunctionAvailable

public abstract boolean isFunctionAvailable(String function)
Tests whether a certain function name is known within this namespace.

Parameters: function name of the function being tested

Returns: true if its known, false if not.

processElement

public abstract void processElement(String localPart, ElemTemplateElement element, TransformerImpl transformer, Stylesheet stylesheetTree, Object methodKey)
Process a call to this extension namespace via an element. As a side effect, the results are sent to the TransformerImpl's result tree.

Parameters: localPart Element name's local part. element The extension element being processed. transformer Handle to TransformerImpl. stylesheetTree The compiled stylesheet tree. methodKey A key that uniquely identifies this class and method call.

Throws: XSLProcessorException thrown if something goes wrong while running the extension handler. MalformedURLException if loading trouble FileNotFoundException if loading trouble IOException if loading trouble TransformerException if parsing trouble

Copyright B) 2006 Apache XML Project. All Rights Reserved.