org.apache.xalan.xslt
Class ExtensionNSHandler
java.lang.Object
|
+--org.apache.xalan.xpath.ExtensionFunctionHandler
|
+--org.apache.xalan.xslt.ExtensionNSHandler
- public class ExtensionNSHandler
- extends ExtensionFunctionHandler
Represents an extension namespace. Provides functions
to call into the extension via both element syntax and function
syntax. Extends XPath's extension function capability to a full
namespace extension model.
Constructor Summary |
ExtensionNSHandler(XSLTEngineImpl xslp,
java.lang.String namespaceUri)
Construct a new extension namespace handler for a given extension NS. |
ExtensionNSHandler(XSLTEngineImpl xslp,
java.lang.String namespaceUri,
java.lang.String elemNames,
java.lang.String funcNames,
java.lang.String lang,
java.lang.String srcURL,
java.lang.String src)
Construct a new extension namespace handler given all the information
needed. |
Method Summary |
boolean |
isElementAvailable(java.lang.String element)
Tests whether a certain element name is known within this namespace. |
void |
processElement(java.lang.String localPart,
Element element,
XSLTEngineImpl processor,
Stylesheet stylesheetTree,
Node sourceTree,
Node sourceNode,
QName mode,
java.lang.Class classObj,
java.lang.Object methodKey)
Process a call to this extension namespace via an element. |
void |
setElements(java.lang.String elemNames)
Set element local parts of extension NS. |
void |
setFunctions(java.lang.String funcNames)
Set function local parts of extension NS. |
void |
setScript(java.lang.String lang,
java.lang.String srcURL,
java.lang.String scriptSrc)
Set the script data for this extension NS. |
protected void |
startupComponent(java.lang.Class classObj)
Start the component up by executing any script that needs to run
at startup time. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
ExtensionNSHandler
public ExtensionNSHandler(XSLTEngineImpl xslp,
java.lang.String namespaceUri)
- Construct a new extension namespace handler for a given extension NS.
This doesn't do anything - just hang on to the namespace URI.
- Parameters:
xslp
- handle to the XSL processor that I'm working fornamespaceUri
- the extension namespace URI that I'm implementing
ExtensionNSHandler
public ExtensionNSHandler(XSLTEngineImpl xslp,
java.lang.String namespaceUri,
java.lang.String elemNames,
java.lang.String funcNames,
java.lang.String lang,
java.lang.String srcURL,
java.lang.String src)
- Construct a new extension namespace handler given all the information
needed.
- Parameters:
xslp
- handle to the XSL processor that I'm working fornamespaceUri
- the extension namespace URI that I'm implementingelemNames
- string containing list of elements of extension NSfuncNames
- string containing list of functions of extension NSlang
- language of code implementing the extensionsrcURL
- value of src attribute (if any) - treated as a URL
or a classname depending on the value of lang. If
srcURL is not null, then scriptSrc is ignored.scriptSrc
- the actual script code (if any)
setFunctions
public void setFunctions(java.lang.String funcNames)
- Description copied from class: ExtensionFunctionHandler
- Set function local parts of extension NS.
- Overrides:
- setFunctions in class ExtensionFunctionHandler
- Tags copied from class: ExtensionFunctionHandler
- Parameters:
functions
- whitespace separated list of function names defined
by this extension namespace.
setScript
public void setScript(java.lang.String lang,
java.lang.String srcURL,
java.lang.String scriptSrc)
- Set the script data for this extension NS. Deferred to super for
actual work - I only record that a component desc has been loaded.
- Overrides:
- setScript in class ExtensionFunctionHandler
- Parameters:
lang
- language of the script.srcURL
- value of src attribute (if any) - treated as a URL
or a classname depending on the value of lang. If
srcURL is not null, then scriptSrc is ignored.scriptSrc
- the actual script code (if any)
setElements
public void setElements(java.lang.String elemNames)
- Set element local parts of extension NS.
- Overrides:
- setElements in class ExtensionFunctionHandler
- Parameters:
elemNames
- whitespace separated list of element names defined
by this extension namespace.
isElementAvailable
public boolean isElementAvailable(java.lang.String element)
- Tests whether a certain element name is known within this namespace.
- Overrides:
- isElementAvailable in class ExtensionFunctionHandler
- Parameters:
element
- name of the element being tested- Returns:
- true if its known, false if not.
processElement
public void processElement(java.lang.String localPart,
Element element,
XSLTEngineImpl processor,
Stylesheet stylesheetTree,
Node sourceTree,
Node sourceNode,
QName mode,
java.lang.Class classObj,
java.lang.Object methodKey)
throws XSLProcessorException,
java.net.MalformedURLException,
java.io.FileNotFoundException,
java.io.IOException,
SAXException
- Process a call to this extension namespace via an element. As a side
effect, the results are sent to the XSLTEngineImpl's result tree.
- Parameters:
localPart
- Element name's local part.element
- The extension element being processed.processor
- Handle to XSLTEngineImpl.stylesheetTree
- The compiled stylesheet tree.mode
- The current mode.sourceTree
- The root of the source tree (but don't assume
it's a Document).sourceNode
- The current context node.- Throws:
- XSLProcessorException - thrown if something goes wrong
while running the extension handler.
- java.net.MalformedURLException - if loading trouble
- java.io.FileNotFoundException - if loading trouble
- java.io.IOException - if loading trouble
- SAXException - if parsing trouble
startupComponent
protected void startupComponent(java.lang.Class classObj)
throws XPathProcessorException
- Start the component up by executing any script that needs to run
at startup time. This needs to happen before any functions can be
called on the component.
- Overrides:
- startupComponent in class ExtensionFunctionHandler
- Throws:
- XPathProcessorException - if something bad happens.