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 © 2005 Apache XML Project. All Rights Reserved.