xsl-list
[Top] [All Lists]

RE: Pre loaded/compiled stylesheets for xsl:include - How to do it?

2002-08-31 06:28:38
Hi,

Where does the problem happen? Memory gets filled? The processor is maxed out?

Can this be fixed by:
1. optimizing the XSL (are you using keys?)
2. Adding more RAM
3. upgrading the machine's processor

Do you always need all of the includes? Perhaps you could create more
primary/entry XSLs with their specific needs represented there and then include
the common stuff (though it kind of looks like you are doing this).

I have never been able to get my more complicated XSLTs to work with XSLTC (or
Resin's compiled XSL). I never investigated too deep, though. Saxon, with a
Template cache, works really well (fast), but I only have about 20 xsl:includes.
It sounds like your stuff is more complicated than mine so I wonder if XSLTC
will even work.

Another option might be to do several smaller (less complicated) transformations
to get to the end result using something like Cocoon.

best,
-Rob


-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com]On Behalf Of 
Michael Kay
I don't know of any product that compiles individual stylesheet modules
separately and allows subsequent linking of compiled modules.

As someone suggested, XSLTC might help because its compiled stylesheets
are very small.

I would suggest instead combining all your stylesheets into one, and
invoking it with a parameter to indicate which particular transformation
you want to perform.

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Jude Albert
Hi

My project has several xsls (around 60) with the
following format

<?xml version="1.0" standalone='no'?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";


<xsl:include href = "user_options.xsl"/>
<xsl:include href = "include.xsl"/>
<xsl:include href = "common.xsl"/>

<xsl:template match="/">
  some xsl code
</xsl:template>

The three include stylesheets mentioned above will be
included in most of the stylesheets.  And they are of
considerable size.  Is there any way by which I can cache
these include stylesheets alone and link the cached thing to
all other stylesheets while loading/parsing them?  (I'm using XT)

Here is the reason for the question:
I have moved all the commonly used templates to one of
the three above mentioned include files.  This helps
me in avoiding code duplication and makes my
stylesheets more readable.

But my making several commonly used templates to be
generic, the xsl stylesheet size has grown
considerably and it is beating me with a great
performance bottleneck.  Considerable time is spent in
the stylesheet loading and parsing.

I tried caching all the stylesheets.  It gave me a
good performance improvement but the memory grows very
huge.  I do not want either it to happen.

So I want to have only those include stylesheets to be
cached and include them when the normal stylesheet is
loaded (on the servlet side).  By doing so, it is not
going to affect memory significantly and at the same
time will reduce the loading/parsing time for other stylesheets.



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>