Package org.apache.xalan.extensions
Class ExtensionHandlerGeneral
- java.lang.Object
-
- org.apache.xalan.extensions.ExtensionHandler
-
- org.apache.xalan.extensions.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
Constructors Constructor Description ExtensionHandlerGeneral(java.lang.String namespaceUri, StringVector elemNames, StringVector funcNames, java.lang.String scriptLang, java.lang.String scriptSrcURL, java.lang.String scriptSrc, java.lang.String systemId)Construct a new extension namespace handler given all the information needed.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectcallFunction(java.lang.String funcName, java.util.Vector args, java.lang.Object methodKey, ExpressionContext exprContext)Process a call to a function.java.lang.ObjectcallFunction(FuncExtFunction extFunction, java.util.Vector args, ExpressionContext exprContext)Process a call to an XPath extension functionbooleanisElementAvailable(java.lang.String element)Tests whether a certain element name is known within this namespace.booleanisFunctionAvailable(java.lang.String function)Tests whether a certain function name is known within this namespace.voidprocessElement(java.lang.String localPart, ElemTemplateElement element, TransformerImpl transformer, Stylesheet stylesheetTree, java.lang.Object methodKey)Process a call to this extension namespace via an element.
-
-
-
Constructor Detail
-
ExtensionHandlerGeneral
public ExtensionHandlerGeneral(java.lang.String namespaceUri, StringVector elemNames, StringVector funcNames, java.lang.String scriptLang, java.lang.String scriptSrcURL, java.lang.String scriptSrc, java.lang.String systemId) throws javax.xml.transform.TransformerExceptionConstruct 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:
javax.xml.transform.TransformerException
-
-
Method Detail
-
isFunctionAvailable
public boolean isFunctionAvailable(java.lang.String function)
Tests whether a certain function name is known within this namespace.- Specified by:
isFunctionAvailablein classExtensionHandler- Parameters:
function- name of the function being tested- Returns:
- true if its known, false if not.
-
isElementAvailable
public boolean isElementAvailable(java.lang.String element)
Tests whether a certain element name is known within this namespace.- Specified by:
isElementAvailablein classExtensionHandler- Parameters:
element- name of the element being tested- Returns:
- true if its known, false if not.
-
callFunction
public java.lang.Object callFunction(java.lang.String funcName, java.util.Vector args, java.lang.Object methodKey, ExpressionContext exprContext) throws javax.xml.transform.TransformerExceptionProcess a call to a function.- Specified by:
callFunctionin 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:
javax.xml.transform.TransformerException- if parsing trouble
-
callFunction
public java.lang.Object callFunction(FuncExtFunction extFunction, java.util.Vector args, ExpressionContext exprContext) throws javax.xml.transform.TransformerException
Process a call to an XPath extension function- Specified by:
callFunctionin 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:
javax.xml.transform.TransformerException
-
processElement
public void processElement(java.lang.String localPart, ElemTemplateElement element, TransformerImpl transformer, Stylesheet stylesheetTree, java.lang.Object methodKey) throws javax.xml.transform.TransformerException, java.io.IOExceptionProcess 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:
processElementin 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.- Throws:
XSLProcessorException- thrown if something goes wrong while running the extension handler.MalformedURLException- if loading troubleFileNotFoundException- if loading troublejava.io.IOException- if loading troublejavax.xml.transform.TransformerException- if parsing trouble
-
-