The stack trace returned is:
ERROR (2005-08-04) 09:46.59:112 [sitemap.handled-errors]
(/kde/listcontainers) PoolThread-4/ErrorHandlerHelper: Error executing pipeline.
org.apache.cocoon.ProcessingException: Error executing pipeline.:
java.lang.RuntimeException
at
org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.handleException(AbstractProcessingPipeline.java:940)
at
org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:281)
at
org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:483)
at
org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:120)
<< snip >>
Caused by: java.lang.RuntimeException
at
org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:3418)
at
org.apache.xalan.transformer.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:389)
at
org.apache.cocoon.xml.AbstractXMLPipe.endDocument(AbstractXMLPipe.java:55)
at
org.apache.cocoon.transformation.TraxTransformer.endDocument(TraxTransformer.java:560)
at
org.apache.cocoon.transformation.LogTransformer.endDocument(LogTransformer.java:156)
at
org.apache.cocoon.xml.AbstractXMLPipe.endDocument(AbstractXMLPipe.java:55)
at
org.apache.cocoon.transformation.AbstractSAXTransformer.endDocument(AbstractSAXTransformer.java:296)
at
org.apache.cocoon.components.sax.XMLTeePipe.endDocument(XMLTeePipe.java:67)
at org.apache.xerces.parsers.AbstractSAXParser.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.XML11Configuration.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:296)
at org.apache.excalibur.xml.impl.JaxpParser.parse(JaxpParser.java:315)
The XML generated by <map:transform type="bdbxml"/> is very simple:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<bdbxml-transaction transactiontype="retrieve" containername="System.bdbxml" docname="syscontainer.xml">
<result status="passed">
<containers>
<container>
<name>Sample</name>
<filename>Sample.bdbxml</filename>
<docnamepath>/publication/metadata/title</docnamepath>
<paramsearchconfig>
<context xpath="/publication/chapter">Chapter</context>
<context xpath="/publication/chapter/section">Section</context>
<context xpath="/publication/chapter/section/para">Paragraph</context>
</paramsearchconfig>
</container>
</containers>
</result>
</bdbxml-transaction>
And all I want to do is output the content of the container elements child
elements name and filename. This is the XSLT:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="result">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="containers">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="container">
Name:<xsl:value-of select="/name"/> Filename:<xsl:value-of
select="/filename"/>
</xsl:template>
<xsl:template match="@*|node()" priority="-2">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="text()" priority="-1">
<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>
I've used the Cocoon log tranformer to catch what is coming out of the bdbxml
transformer
anf I believe it looks okay:
[setup] ---------------------------- [Thu Aug 04 09:59:35 BST 2005]
----------------------------
[setDocumentLocator]
systemid=file:/C:/cocoon-2.1.7/build/webapp/kde/content/showsyscontainer.xml,publicid=null
[startDocument]
[startElement] uri=,local=bdbxml-transaction,raw=bdbxml-transaction
[ ] 1.
uri=,local=transactiontype,qname=transactiontype,type=CDATA,value=retrieve
[ ] 2.
uri=,local=containername,qname=containername,type=CDATA,value=System.bdbxml
[ ] 3.
uri=,local=docname,qname=docname,type=CDATA,value=syscontainer.xml
[startElement] uri=,local=result,raw=result
[ ] 1. uri=null,local=status,qname=status,type=CDATA,value=passed
[setDocumentLocator] systemid=null,publicid=null
[startDocument]
[startElement] uri=,local=containers,raw=containers
[startElement] uri=,local=container,raw=container
[startElement] uri=,local=name,raw=name
[characters] Sample
[endElement] uri=,local=name,raw=name
[startElement] uri=,local=filename,raw=filename
[characters] Sample.bdbxm
[characters] l
[endElement] uri=,local=filename,raw=filename
[startElement] uri=,local=docnamepath,raw=docnamepath
[characters] /publication/metadata/title
[endElement] uri=,local=docnamepath,raw=docnamepath
[startElement] uri=,local=paramsearchconfig,raw=paramsearchconfig
[startElement] uri=,local=context,raw=context
[ ] 1.
uri=,local=xpath,qname=xpath,type=CDATA,value=/publication/chapter
[characters] Chapter
[endElement] uri=,local=context,raw=context
[startElement] uri=,local=context,raw=context
[ ] 1.
uri=,local=xpath,qname=xpath,type=CDATA,value=/publication/chapter/section
[characters] Section
[endElement] uri=,local=context,raw=context
[startElement] uri=,local=context,raw=context
[ ] 1.
uri=,local=xpath,qname=xpath,type=CDATA,value=/publication/chapter/section/para
[characters] Paragraph
[endElement] uri=,local=context,raw=context
[endElement] uri=,local=paramsearchconfig,raw=paramsearchconfig
[endElement] uri=,local=container,raw=container
[endElement] uri=,local=containers,raw=containers
[endDocument]
[endElement] uri=,local=result,raw=result
[endElement] uri=,local=bdbxml-transaction,raw=bdbxml-transaction
[endDocument]
Could this exception be Xalan related? I'm using jdk 1.4.2, however I have
copied across
the xalan and xerces jars into the jre/lib/endorsed directory as recommended by the
Cocoon installations. Should I try JDK 1.5?
Strange thing is I've been able to do basic tranformation on other XML using the
file generator passed onto XSLT stylesheets (as opposed my java transformer
bdbxml).
Any ideas? It's driving me mad!
Thanks,
Ant
-----Original Message-----
From: Upayavira [mailto:[EMAIL PROTECTED]
Sent: 04 August 2005 08:57 am
To: users@cocoon.apache.org
Subject: Re: XSLT transformation
Antony Grinyer wrote:
Hi,
A have a simple sitemap entry as below:
<map:match pattern="listcontainers">
<map:generate type="file" src="content/showsyscontainer.xml"/>
<map:transform type="bdbxml"/>
<map:transform type="xslt" src="style/xsl/containerslist.xsl"/>
<map:serialize type="html"/>
</map:match>
The generator is a simple XML file which is passed to a java class
transformer ( referenced as type="bdbxml") which returns
XML results.
This all works fine if I use <map:serialize type="xml"/> to simply
output the XML, however if I try to transform the XML
output with the
XSLT transformer above I get an error:
Error executing pipeline.
org.apache.cocoon.ProcessingException: Error executing pipeline.:
java.lang.RuntimeException
I know the XSLT containerslist.xsl is correct as I've tried
it against
some sample output XML in XMLSpy, but it appears that when
I add this
XSLT transformer I get a Processing Exception?
In the sitemap.log it is reported as:
Unable to get parser: java.lang.RuntimeException:
java.lang.NullPointerException
Do you get any stack trace with this NPE?
Your transformer is passing something down the pipeline as
null. This isn't tripping up the XML serializer, but is
tripping up the xslt transformer. Go through each of the
startElement, etc, calls within your transformer looking at
the output. See if you can see any nulls in there.
Regards, Upayavira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
-----Original Message-----
From: Upayavira [mailto:[EMAIL PROTECTED]
Sent: Thu 8/4/2005 8:57 AM
To: users@cocoon.apache.org
Subject: Re: XSLT transformation
Antony Grinyer wrote:
Hi,
A have a simple sitemap entry as below:
<map:match pattern="listcontainers">
<map:generate type="file" src="content/showsyscontainer.xml"/>
<map:transform type="bdbxml"/>
<map:transform type="xslt" src="style/xsl/containerslist.xsl"/>
<map:serialize type="html"/>
</map:match>
The generator is a simple XML file which is passed to a java class
transformer ( referenced as type="bdbxml") which returns XML results.
This all works fine if I use <map:serialize type="xml"/> to simply
output the XML, however if I try to transform the XML output with the
XSLT transformer above I get an error:
Error executing pipeline.
org.apache.cocoon.ProcessingException: Error executing pipeline.:
java.lang.RuntimeException
I know the XSLT containerslist.xsl is correct as I've tried it against
some sample output XML in XMLSpy, but it appears that when I add this
XSLT transformer I get a Processing Exception?
In the sitemap.log it is reported as:
Unable to get parser: java.lang.RuntimeException:
java.lang.NullPointerException
Do you get any stack trace with this NPE?
Your transformer is passing something down the pipeline as null. This
isn't tripping up the XML serializer, but is tripping up the xslt
transformer. Go through each of the startElement, etc, calls within your
transformer looking at the output. See if you can see any nulls in there.
Regards, Upayavira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
------------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]