Package org.apache.xalan.extensions
Class ExtensionHandlerGeneral
java.lang.Object
org.apache.xalan.extensions.ExtensionHandler
org.apache.xalan.extensions.ExtensionHandlerGeneral
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
ConstructorsConstructorDescriptionExtensionHandlerGeneral
(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
Modifier and TypeMethodDescriptioncallFunction
(String funcName, Vector args, Object methodKey, ExpressionContext exprContext) Process a call to a function.callFunction
(FuncExtFunction extFunction, Vector args, ExpressionContext exprContext) Process a call to an XPath extension functionboolean
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.
-
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 implementingelemNames
- Vector of element namesfuncNames
- string containing list of functions of extension NSscriptLang
- Scripting language of implementationscriptSrcURL
- URL of source scriptscriptSrc
- the actual script code (if any)systemId
-- Throws:
TransformerException
-
-
Method Details
-
isFunctionAvailable
Tests whether a certain function name is known within this namespace.- Specified by:
isFunctionAvailable
in classExtensionHandler
- Parameters:
function
- name of the function being tested- Returns:
- true if its known, false if not.
-
isElementAvailable
Tests whether a certain element name is known within this namespace.- Specified by:
isElementAvailable
in classExtensionHandler
- Parameters:
element
- name of the element being tested- Returns:
- true if its known, false if not.
-
callFunction
public Object callFunction(String funcName, Vector args, Object methodKey, ExpressionContext exprContext) throws TransformerException Process a call to a function.- Specified by:
callFunction
in classExtensionHandler
- 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 Object callFunction(FuncExtFunction extFunction, Vector args, ExpressionContext exprContext) throws TransformerException Process a call to an XPath extension function- Specified by:
callFunction
in classExtensionHandler
- Parameters:
extFunction
- The XPath extension functionargs
- 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
-
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.- Specified by:
processElement
in classExtensionHandler
- 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.
-