Hi,

Amir Rosen wrote:

> Hi,
> 
> There's a bug in TraxTransformer when using Saxon with caching.
> 

<snip />

> 
> Anyway, our solution is simple, we should set the URIResolver we want to use 
>explicitly:
> 
> in TransformerHandler#getTransformerHandler(Source, XMLFilter) there's the code:
> 
> TransformerHandler handler = 
>getTransformerFactory().newTransformerHandler(templates);
> handler.getTransformer().setErrorListener(new TraxErrorHandler(getLogger()));
> return handler;
> 
> before returning the handler we should add the line:
> 
> handler.getTransformer().setURIResolver(this);

I can confirm that applying this patch helps against some NPEs!
See below. Thank you!

Can someone please apply this patch to cvs?

> 
> 
> A comment has been sent to JSR 63 about this issue.
> 
> BTW:
> I'm using:
> - cocoon 2.0.3-dev
> - saxon 6.5.2
> 

Me too.

> 
> 
> Thanks,

Thank you very much.

> 
> Amir Rosen
> CTI Squared
> [EMAIL PROTECTED]
> +972-9-9605200 (258)
>  

---------------------------------------------------
org.apache.cocoon.ProcessingException: Failed to execute pipeline.: 
java.lang.NullPointerException
        at 
org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEventPipeline.java:223)
        at 
org.apache.cocoon.components.source.SitemapSource.toSAX(SitemapSource.java:353)
        at 
org.apache.cocoon.generation.FileGenerator.generate(FileGenerator.java:143)
...
java.lang.NullPointerException
        at 
org.apache.cocoon.components.xslt.XSLTProcessorImpl.resolve(XSLTProcessorImpl.java:481)
        at com.icl.saxon.functions.Document.makeDoc(Document.java:201)
        at com.icl.saxon.functions.Document.getDocuments(Document.java:134)
        at com.icl.saxon.functions.Document.evaluate(Document.java:70)
...
----------------------------------------------------
--- XSLTProcessorImpl.java      2002-08-19 09:33:32.000000000 +0200
+++ 
+E:\cvs_cocoon\personal-patches\java\org\apache\cocoon\components\\xslt\XSLTProcessorImpl.java
+       2002-08-28 17:51:08.000000000 +0200
@@ -288,6 +288,7 @@
 
             TransformerHandler handler = 
getTransformerFactory().newTransformerHandler(templates);
             handler.getTransformer().setErrorListener(new 
TraxErrorHandler(getLogger()));
+            handler.getTransformer().setURIResolver(this);
             return handler;
         } catch (ProcessingException e) {
             throw e;

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to