Hi,
Thanks for the reply.
I tried giving 'src' and 'name' both values as
"concat($directoryPath,$dirName)".
 I get the same error.

"org.apache.cocoon.ProcessingException: Failed to execute pipeline.:
 java.lang.RuntimeException:
 org.apache.excalibur.source.SourceNotFoundException: 
 file:/C:/directory/ doesn't exist".

Regards,
Moin

-----Original Message-----
From: Joerg Heinicke [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 18, 2004 2:05 AM
To: [EMAIL PROTECTED]
Subject: Re: Directory zip error


Indeed it's either a limitation of the zip archive serializer or could 
be reached by a work around: 
http://cocoon.apache.org/2.1/userdocs/serializers/ziparchive-serializer.
html.

What does obviouly not work is the referencing of a directory in 
zip:entry/@src. But from the example in the above docu it *might* work 
to use "concat($filePath,$fileName)" (named as $fileToBeZipped in your 
code below) as both zip:entry/@src and zip:entry/@name.

Joerg

PS: Is there any reason that there are always so many linebreaks in your

mails? Could you switch off HTML mails for the mailing lists?



On 17.05.2004 08:51, [EMAIL PROTECTED] wrote:

> Hi,
> I am trying to zip a directory and all the content of the directory
> 
> 
> I have a directory structure as follows:
> 
> 
> C:\Directory
>       |
>       |-- dirA
>           |--------FileA.text
>           |--------FileB.text
>       |-- dirB
>       |--FileRootA.txt
>       |--FileRootB.txt
> 
> 
> I have written an xsl to read this using Directory generator and zip 
> the files and the directories recursively till n level.. What I found,

> all the files at all the levels are getting zipped but not directory.
> For directories I get the following error:
> 
> 
> 'If I comment the zip entry for directories, files gets zipped 
> correctly.
> 
> 
> "org.apache.cocoon.ProcessingException: Failed to execute pipeline.:
> java.lang.RuntimeException:
> org.apache.excalibur.source.SourceNotFoundException: 
> file:/C:/directory/ doesn't exist"
> 
> 
> Though the directory very much exists. I have tried hard coding and 
> adding the same also, but no luck. I have the xsl written as below:
> 
> 
> Can some one please check out and let me know where I am going wrong, 
> or is it that we can only zip files using Cocoon and not directories.
> 
> 
> Thanks in advance.
> Regards,
> Moin
> 
> 
> ========================
> Sitemap.xmap is as follows
> 
>  <map:match pattern="zipFolderActions">   
> 
>      <map:generate type="directory" src="{request-param:zipFolders}">
>                <map:parameter name="depth" value="1000"/>
>                <map:parameter name="use-request-parameters" 
> value="true"/>
>               </map:generate>
>        <map:transform src="stylesheets/dirzip.xsl"/>
>            <map:serialize type="zip"/>
>   
> 
>     </map:match> ================================================
> 
> 
> dirzip.xsl is as follows:
> <?xml version="1.0"?>
> <xsl:stylesheet version="1.0"
> 
>      xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>      xmlns:dir="http://apache.org/cocoon/directory/2.0";
>      xmlns:zip="http://apache.org/cocoon/zip-archive/1.0";
>      >
> 
> 
> <xsl:param name="dirprefix"/>
> 
> <xsl:template match="/">
>  <zip:archive>
> <xsl:for-each select="//dir:directory">
>  <xsl:variable name="directoryPath">
>   <xsl:for-each select="ancestor::*">
>    <xsl:value-of select="@name"/>
>    <xsl:text>/</xsl:text>
>   </xsl:for-each>
>  </xsl:variable>
>  <xsl:variable name="dirName">
>   <xsl:value-of select="@name"/>
>  </xsl:variable>
>   <xsl:variable name="DirToBeZipped"><xsl:value-of
> select="concat($directoryPath,$dirName,'/')"/></xsl:variable>
>   <zip:entry name="{dirName}" src="{$DirToBeZipped}"/>
>     <!-- add code to get the files in each directory -->
>     <xsl:for-each select="./dir:file">
>    <xsl:variable name="filePath">
>      <xsl:for-each select="ancestor::*">
>     <xsl:value-of select="@name"/>
>     <xsl:text>/</xsl:text>
>      </xsl:for-each>
>    </xsl:variable>
>    <xsl:variable name="fileName">
>     <xsl:value-of select="@name"/>
>    </xsl:variable>
>    <xsl:variable name="fileToBeZipped"><xsl:value-of
> select="concat($filePath,$fileName)"/></xsl:variable>
>   <zip:entry name="{$fileName}" src="{$fileToBeZipped}"/>  
> </xsl:for-each>
>     <!-- end of code to get files in each directory --> 
> </xsl:for-each>
>   </zip:archive>
> </xsl:template>
> </xsl:stylesheet>

---------------------------------------------------------------------
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]

Reply via email to