Ok, attached are sample files that generates the java.util.EmptyStackException.
I am using Saxon-7.3.1 with everything working, except that if bad data is sent
to the "fo2pdf" serializer causing a fatal exception, then something happens that
destabilizes cocoon, causing some subsequent requests for other files to fail.
The problem does not occur if the default transformer in the attached sitemap.xmap
and empty.xmap is changed to Xalan.
Steps to demonstrate the exception:
Copy the attached files into a fresh directory
Add a <mount/> tag to one of your sitemaps pointing at sitemap.xmap
Copy the jar file for Saxon-7.3.1 into WEB-INF/lib
Edit your cocoon.xconf and root sitemap.xmap to let Cocoon know about Saxon
(See the excerpts from each file below)
Restart Cocoon so it will see the new jar file
In a browser (the sequence is very important):
Request the url "where-you-mounted-the-files/empty.pdf"
Request the url "where-you-mounted-the-files/good.html"
Request the url "where-you-mounted-the-files/empty.pdf"
Hit reload
Request the url "where-you-mounted-the-files/good.html"
You should now see the java.util.EmptyStackException error page.
Excerpt from cocoon.xconf:
=====
<component
role="org.apache.cocoon.components.xslt.XSLTProcessor/Saxon"
class="org.apache.cocoon.components.xslt.XSLTProcessorImpl"
logger="core.xslt-processor-Saxon">
<parameter name="use-store" value="true"/>
<parameter name="incremental-processing" value="false"/>
<parameter name="transformer-factory" value="net.sf.saxon.TransformerFactoryImpl"/>
</component>
<component
role="org.apache.cocoon.components.xslt.XSLTProcessor/Xalan"
class="org.apache.cocoon.components.xslt.XSLTProcessorImpl"
logger="core.xslt-processor-Xalan">
<parameter name="use-store" value="true"/>
<parameter name="incremental-processing" value="false"/>
<parameter name="transformer-factory"
value="org.apache.xalan.processor.TransformerFactoryImpl"/>
</component>
=====
Excerpt from root sitemap.xmap:
=====
<map:transformers default="xslt-Saxon">
<map:transformer name="xslt-Saxon"
src="org.apache.cocoon.transformation.TraxTransformer"
logger="sitemap.transformer.xslt-processor-Saxon"
pool-max="32" pool-min="8" pool-grow="2">
<use-request-parameters>false</use-request-parameters>
<use-browser-capabilities-db>false</use-browser-capabilities-db>
<use-deli>false</use-deli>
<xslt-processor-role>org.apache.cocoon.components.xslt.XSLTProcessor/Saxon</xslt-processor-role>
</map:transformer>
<map:transformer name="xslt-Xalan"
src="org.apache.cocoon.transformation.TraxTransformer"
logger="sitemap.transformer.xslt-processor-Xalan"
pool-grow="2" pool-max="32" pool-min="8">
<use-request-parameters>false</use-request-parameters>
<use-browser-capabilities-db>false</use-browser-capabilities-db>
<use-deli>false</use-deli>
<xslt-processor-role>org.apache.cocoon.components.xslt.XSLTProcessor/Xalan</xslt-processor-role>
</map:transformer>
=====
Tim
>>> [EMAIL PROTECTED] 01/31/03 09:23AM >>>
Timothy Larson wrote:
>
> My current setup is not simple.
> I will try to make a simple test and get back to you...
>
Great! (Because, I never got this exception).
Thanks!
Carsten
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]
<?xml version="1.0"?>
<html>
<head>
<title>Simple HTML Page</title>
</head>
<body>
Sample Text
</body>
</html>
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl ="http://www.w3.org/1999/XSL/Transform"
xmlns:fo ="http://www.w3.org/1999/XSL/Format">
<xsl:import href="cocoon:/included.xsl"/>
<xsl:template match="/">
<invalid-fo/>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0"?>
<map:sitemap
xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<map:components>
<map:generators default="file"/>
<map:transformers default="xslt-Saxon"/>
<map:readers default="resource"/>
<map:serializers default="html"/>
<map:selectors default="browser"/>
<map:matchers default="wildcard"/>
</map:components>
<map:pipelines>
<map:pipeline>
<map:match pattern="empty.pdf">
<map:generate src="cocoon:/empty.fo"/>
<map:serialize type="fo2pdf"/>
</map:match>
</map:pipeline>
<map:pipeline>
<map:match pattern="included.xsl">
<map:generate src="included.xsl"/>
<map:serialize type="xml"/>
</map:match>
<map:match pattern="*.fo">
<map:generate src="bad.xml"/>
<map:transform src="bad.xsl"/>
<map:serialize type="xml"/>
</map:match>
</map:pipeline>
</map:pipelines>
</map:sitemap>
<?xml version="1.0"?>
<xml/>
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
</xsl:stylesheet>
<?xml version="1.0"?>
<map:sitemap
xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<!-- ======= Components ======= -->
<map:components>
<map:generators default="file"/>
<map:transformers default="xslt-Saxon"/>
<map:readers default="resource"/>
<map:serializers default="html"/>
<map:selectors default="browser"/>
<map:matchers default="wildcard"/>
</map:components>
<map:resources/>
<map:pipelines>
<map:pipeline>
<map:match pattern="good.html">
<map:generate src="good.xml"/>
<map:serialize type="html"/>
</map:match>
<map:match pattern="bad.pdf">
<map:generate src="cocoon:/bad.fo"/>
<map:serialize type="fo2pdf"/>
</map:match>
<map:match pattern="included.xsl">
<map:generate src="included.xsl"/>
<map:serialize type="xml"/>
</map:match>
<map:match pattern="bad.fo">
<map:generate src="bad.xml"/>
<map:transform src="bad.xsl"/>
<map:serialize type="xml"/>
</map:match>
<map:match pattern="empty.*">
<map:mount src="empty.xmap" uri-prefix="" check-reload="yes"
reload-method="synchron"/>
</map:match>
</map:pipeline>
</map:pipelines>
</map:sitemap>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]