org.apache.xalan.extensions

Class ExtensionHandlerGeneral


public class ExtensionHandlerGeneral
extends ExtensionHandler

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)

Constructor Summary

ExtensionHandlerGeneral(String namespaceUri, StringVector elemNames, StringVector funcNames, String scriptLang, String scriptSrcURL, String scriptSrc, String systemId)
Construct a new extension namespace handler given all the information needed.

Method Summary

Object
callFunction(String funcName, Vector args, Object methodKey, ExpressionContext exprContext)
Process a call to a function.
Object
callFunction(FuncExtFunction extFunction, Vector args, ExpressionContext exprContext)
Process a call to an XPath extension function
boolean
isElementAvailable(String element)
Tests whether a certain element name is known within this namespace.
boolean
isFunctionAvailable(String function)
Tests whether a certain function name is known within this namespace.
void
processElement(String localPart, ElemTemplateElement element, TransformerImpl transformer, Stylesheet stylesheetTree, Object methodKey)
Process a call to this extension namespace via an element.

Methods inherited from class org.apache.xalan.extensions.ExtensionHandler

callFunction, callFunction, isElementAvailable, isFunctionAvailable, processElement

Constructor Details

ExtensionHandlerGeneral

public ExtensionHandlerGeneral(String namespaceUri,
                               StringVector elemNames,
                               StringVector funcNames,
                               String scriptLang,
                               String scriptSrcURL,
                               String scriptSrc,
                               String systemId)
            throws TransformerException
Construct a new extension namespace handler given all the information needed.
Parameters:
namespaceUri - the extension namespace URI that I'm implementing
elemNames - Vector of element names
funcNames - string containing list of functions of extension NS
scriptLang - Scripting language of implementation
scriptSrcURL - URL of source script
scriptSrc - the actual script code (if any)
systemId -

Method Details

callFunction

public Object callFunction(String funcName,
                           Vector args,
                           Object methodKey,
                           ExpressionContext exprContext)
            throws TransformerException
Process a call to a function.
Overrides:
callFunction in interface ExtensionHandler
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.

callFunction

public Object callFunction(FuncExtFunction extFunction,
                           Vector args,
                           ExpressionContext exprContext)
            throws TransformerException
Process a call to an XPath extension function
Overrides:
callFunction in interface ExtensionHandler
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.

isElementAvailable

public boolean isElementAvailable(String element)
Tests whether a certain element name is known within this namespace.
Overrides:
isElementAvailable in interface ExtensionHandler
Parameters:
element - name of the element being tested
Returns:
true if its known, false if not.

isFunctionAvailable

public boolean isFunctionAvailable(String function)
Tests whether a certain function name is known within this namespace.
Overrides:
isFunctionAvailable in interface ExtensionHandler
Parameters:
function - name of the function being tested
Returns:
true if its known, false if not.

processElement

public void processElement(String localPart,
                           ElemTemplateElement element,
                           TransformerImpl transformer,
                           Stylesheet stylesheetTree,
                           Object methodKey)
            throws TransformerException,
                   IOException
Process a call to this extension namespace via an element. As a side effect, the results are sent to the TransformerImpl's result tree.
Overrides:
processElement in interface ExtensionHandler
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.

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