This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Pre loaded/compiled stylesheets for xsl:include - How to do it?
- From: "Robert Koberg" <rob at koberg dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Sat, 31 Aug 2002 06:28:38 -0700
- Subject: RE: [xsl] Pre loaded/compiled stylesheets for xsl:include - How to do it?
- Reply-to: xsl-list at lists dot mulberrytech dot com
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@lists.mulberrytech.com
> [mailto:owner-xsl-list@lists.mulberrytech.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@lists.mulberrytech.com
> > [mailto:owner-xsl-list@lists.mulberrytech.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