I posted the following on the Cocoon-users list and was directed to this list as one of the local experts (J. Pietschmann) felt the issue might be a recurrance of an old Xalan problem.
Does this item ring a bell here ? Just started playing with Cocoon again after striking out with it about a year ago. The product is MUCH improved. I have just installed Cocoon 2.1.2 on my RedHat 9 system and am attempting to generate RTF from a DocBook file. 1) RH 9 2.4.20-20.9 2) JAVA_HOME: /opt/j2sdk_nb/j2sdk1.4.2 3) Cocoon: 2.1.2; simple build and invoked as ./cocoon.sh servlet so it runs Jetty and services port 8888 4) The XML file(s) I use all produce RTF output when I use the Linux scripts docbook2pdf, docbook2html and docbook2rtf 5) Cocoon successfully generates PDF, HTML and apparently produces PS and other outputs (My browsers have no PS helper applications) 6) Cocoon chokes when I ask it to produce RTF output. Question 1: What should I do ? Question 2: Has this got anything to do with versions of Xerces and Xalan shipped with the SDK 1.4.2 ? I followed the instructions on the Cocoon site about copying the newer versions into jre/lib/endorsed directory but there was no improvement. See output of EnvironmentCheck following Stack trace. Stack trace: cause: java.lang.RuntimeException: java.util.EmptyStackException full exception chain stacktrace[hide] Original Exception: java.lang.RuntimeException: java.util.EmptyStackException at org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:3364) at org.apache.xalan.transformer.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:427) at org.apache.cocoon.xml.AbstractXMLPipe.endDocument(AbstractXMLPipe.java:91) at org.apache.cocoon.transformation.TraxTransformer.endDocument(TraxTransformer.java:529) at org.apache.xerces.parsers.AbstractSAXParser.endDocument(Unknown Source) at org.apache.xerces.impl.dtd.XMLDTDValidator.endDocument(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(Unknown Source) at org.apache.xerces.impl.XMLEntityManager.endEntity(Unknown Source) at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source) at org.apache.xerces.impl.XMLEntityScanner.skipSpaces(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.excalibur.xml.impl.JaxpParser.parse(JaxpParser.java:318) at org.apache.excalibur.xml.impl.JaxpParser.parse(JaxpParser.java:337) at org.apache.cocoon.components.source.SourceUtil.parse(SourceUtil.java:229) at org.apache.cocoon.generation.FileGenerator.generate(FileGenerator.java:141) at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:272) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:492) at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:147) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84) at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:164) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:163) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:161) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:351) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:304) at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:130) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84) at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:164) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:163) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:161) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:351) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:304) at org.apache.cocoon.Cocoon.process(Cocoon.java:640) at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1104) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:558) at org.mortbay.http.HttpContext.handle(HttpContext.java:1714) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:507) at org.mortbay.http.HttpContext.handle(HttpContext.java:1664) at org.mortbay.http.HttpServer.service(HttpServer.java:863) at org.mortbay.http.HttpConnection.service(HttpConnection.java:775) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:939) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:792) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:201) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455) Output of java org.apache.xalan.xslt.EnvironmentCheck: #---- BEGIN writeEnvironmentReport($Revision: 1.20 $): Useful stuff found: ---- version.DOM.draftlevel=2.0fd java.class.path=. version.JAXP=1.1 or higher java.ext.dirs=/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/ext #---- BEGIN Listing XML-related jars in: foundclasses.sun.boot.class.path ---- xml-apis.jar-apparent.version=xml-apis.jar from xalan-j_2_3_0, or xalan-j_2_3_1 from xml-commons-1.0.b2 xml-apis.jar-path=/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/endorsed/xml-apis.jar #----- END Listing XML-related jars in: foundclasses.sun.boot.class.path ----- version.xerces2=Xerces-J 2.5.0 version.xerces1=not-present version.xalan2_2=Xalan Java 2.5.1 version.xalan1=not-present version.ant=not-present java.version=1.4.2 version.DOM=2.0 version.crimson=present-unknown-version sun.boot.class.path=/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/endorsed/xalan-2.5.1.jar:/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/endorsed/xercesImpl-2.5.0.jar:/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/endorsed/xml-apis.jar:/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/rt.jar:/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/i18n.jar:/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/sunrsasign.jar:/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/jsse.jar:/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/jce.jar:/opt/j2sdk_nb/j2sdk1.4.2/jre/lib/charsets.jar:/opt/j2sdk_nb/j2sdk1.4.2/jre/classes version.SAX=2.0 version.xalan2x=Xalan Java 2.5.1 #----- END writeEnvironmentReport: Useful properties found: ----- # YAHOO! Your environment seems to be OK. -- John Austin <[EMAIL PROTECTED]> -- John Austin <[EMAIL PROTECTED]>