Hello Leona,

we use SVG generated PNGs at www.ekommunen.de too and the serialization 
is really fast except the very first request on a SVG serializer. I 
guess this is because of the first instantiation of Batik, but maybe 
somebody can say something more about this. Is it really a problem if 
the very first user accessing the very first time the site has to wait 
some seconds more?

Maybe therefore you can optimize your sitemap or the XSLT. For example 
you are passing the request parameters and some other parameters to the 
stylesheets, which prevents effective caching. Stylesheets are cached in 
combination with passed parameters. We changed this by storing such 
parameters in an extra XML, which is aggregated in the sitemap. So there 
is really only one instance of the stylesheet in the cache.

Furthermore I see

<add_image 
img_file="{concat('http://localhost:8080/GS/name.jpg?display=', ./Role)}"/>

in the stylesheets, which can be simplified to

<add_image img_file="http://localhost:8080/GS/name.jpg?display={Role}"/>

And the third point: You have a template creating an <add_image/> 
element and one matching one them. Hmm, I can only guess, but are you 
storing <add_image/> in a Result Tree Fragment, which you convert back 
to a node set and apply a template to it? If it is so, maybe there are 
better processings possible.

Regards,

Joerg

lrs wrote:
> Hi All,
> 
> I have an application that is generating some labels for a table
> using svg. All it does is generate some text and rotate it 180.
> This is the sitemap fragement that applies to this function.
> 
>    <map:match pattern="name.jpg">
>      <map:generate src="gs.xml"/>
>         <map:transform src="page2svg.xsl">
>           <map:parameter name="use-request-parameters" value="true"/>
>           <map:parameter name="pagename" value="name.jpg"/>
>           <map:parameter name="display" value="{display}"/>
>         </map:transform>
>      <map:serialize type="svg2jpeg"/>
>    </map:match>
> 
> which is called from this piece of XSL.
>   <xsl:template match="Role" name="Role">
>      ...
>             <add_image
> img_file="{concat('http://localhost:8080/GS/name.jpg?display=', ./Role)}"/>
>     ...
>   </xsl:template>
> 
> and <add_image> is a simple template:
> 
>   <xsl:template name="add_image" match="add_image">
>     <xsl:element name="img">
>       <xsl:attribute name="src">
>         <xsl:value-of select="@img_file"/>
>       </xsl:attribute>
>     </xsl:element>
>   </xsl:template>
> 
> The problem is that the rendering of the svg is sooo slow. It takes
> up to 15 seconds to generate as few a 8 labels, whereas the table
> itself (plain HTML) can have hundreds of cells, yet render in as
> little as 2 seconds. Subsequent views of the page are faster
> because the images are cached, but I would like to get better
> performance on the first viewing.
> 
> Does anyone know if this can be optimized, either in the configuration
> files, the sitemap, the XSL or some other method?
> 
> Any help would be greatly appreciated.
> 
> Thanks very much,
> Leona Slepetis


---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>

Reply via email to