----- Original Message -----
Sent: Wednesday, December 18, 2002 8:44
AM
Subject: Re: Writing output of pipeline
to a file
Thank you all for answering me,
but I still can't manage to do it.
Here is my pipeline:
<map:match
pattern="test.html">
<map:generate src=""/>
<map:transform src=""/>
<map:serialize type="xml"/>
<map:match>
Here is my
writeToFile.xsl:
<?xml version="1.0"
encoding="UTF-8"?>
<xsl:output
method="xml"/>
<xsl:template match="/">
<xsl:copy-of select="*"/>
<redirect:open
file="testWrite.xml"/>
<redirect:write
file="testWrite.xml">
<xsl:copy-of
select="*"/>
</redirect:write>
<redirect:close file="testWrite.xml"/>
</xsl:template>
</xsl:stylesheet>
When I am running this, I get the following error
message from the Cocoon:
type
fatal
message Exception in
HTMLGenerator.generate()
description
org.apache.cocoon.ProcessingException: Exception in
HTMLGenerator.generate(): java.lang.NullPointerException
sender org.apache.cocoon.servlet.CocoonServlet
source Cocoon servlet
request-uri
If I remove all the redirect: lines, then I get the
serialized input file, so the input is OK, obviously,
I have some problems with this redirect:
Can anybody please tell me what's wrong?
Thank you very much for help.
Anna
----- Original Message -----
Sent: Tuesday, December 17, 2002 4:36
PM
Subject: Re: Writing output of
pipeline to a file
First, i had just to save it (not to send the
result file to the client). I did it in a stylesheet like this
:
<?xml version="1.0"
encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect"
extension-element-prefixes="redirect">
<xsl:output method="xml"
encoding="ISO-8859-1"/>
<xsl:template
match="/">
<redirect:write
file="{$path}">
<xsl:copy-of
select="*"/>
</redirect:write>
<TEXTE>output for the
client</TEXTE>
</xsl:template
>
</xsl:stylesheet>
But there was problems with some
configuration, so finally i did it in my Action who had to generate the
XML.
If you have to duplicate your XML stream, one
for saving, another for the client, i think you have to do this in an
action. It generates the XML file and this one is next
transformed/serialized.
<map:match
pattern="some.html">
<map:act
type="YourAction">
<map:generate
src=""/>
<map:transform src=""/>
<map:serialize type="html"/>
</map:match>
Ludovic
----- Original Message -----
Sent: Tuesday, December 17, 2002
3:09 PM
Subject: Re: Writing output of
pipeline to a file
Hi Ludovic. Thank you for
answering.
Can you say what do you do to
save this XML file?
I mean, if I have the
following pipeline:
<map:match
pattern="some.html">
<map:generate src=""/>
<map:transform src=""/>
<map:serialize type="xml"/>
</map:match>
this pipeline produces an xml
file. What should I use in order to save this file as
"some.xml".
Sorry for asking almost
exactly the same, I just didn't understood from you answer what should I
do.
Thank you very much for
help.
Anna
----- Original Message -----
Sent: Tuesday, December 17, 2002
4:03 PM
Subject: Re: Writing output of
pipeline to a file
Hi Anna,
I had this problem and didn't find a
solution for caching the output of the pipeline to perform an
OutputAction as saving in a file. Finally i chose to save the XML, and
to perfom the transformation/serialization when a request need the
transformed file. It supposes that the transformers are not
modified.
Another solution should be using the
CommandLine classes to perform the pipeline in an action but i can't
say more about it.
Hope a better solution
exists...
Ludovic
----- Original Message -----
Sent: Tuesday, December 17,
2002 2:19 PM
Subject: Writing output of
pipeline to a file
Hello All!
I know that today I ask
too many questions, but since cocoon is new to me,
sometimes I don't even
know where to look for the information, so you are my only
help.
Thanks for everyone who
took time to answer my questions. Here is another one:
At the end of the
pipeline the result file is output to the browser.
I need the result file
also to be saved in the file on my hard drive.
How can I do
this?
I read about the
SourceWritingTransformer, but I understood that I can write
<source:write> tag in xml only, not in xsl.
Or maybe I can use it to
do what I need, and I just don't know how?
Please tell
me.
Thank you very much for
your help.
Anna