*
* @return a <code>TransformerHandler</code> value
*/
public TransformerHandler getTransformerHandler() throws ProcessingException
{
XSLTProcessor xsltProcessor = null;
Source source = null;
try {
xsltProcessor = (XSLTProcessor)this.manager.lookup(XSLTProcessor.ROLE);
source = this.resolver.resolveURI( this.systemId );
// If the Source object is not changed, the
// getTransformerHandler() of XSLTProcessor will simply return
// the old template object. If the Source is unchanged, the
// namespaces are not modified either.
if (namespaceURIs == null)
namespaceURIs = new HashMap();
filter.setNamespaceMap(namespaceURIs);
return xsltProcessor.getTransformerHandler(source, filter);
} catch (ServiceException e) {
throw new ProcessingException("Could not obtain XSLT processor", e);
} catch (MalformedURLException e) {
throw new ProcessingException("Could not resolve " + this.systemId, e);