xsl-list
[Top] [All Lists]

Re: [xsl] main memory consumption using xalan

2007-07-30 05:34:12
On 7/30/07, Lensch, Thomas <Lensch(_at_)juris(_dot_)de> wrote:
Hi,

we use xalan 2.6 in an Tomcat/web-environment using the JAXP 1.3 API to
run Xalan-Java. We transform our xml documents to generate XHTML pages.

We have many types of xml data. These all are transformed by
type-specific xsl using some standardard XSL templates. So we have the
following (simplified) structure:

Template A.xsl for type A:

        <xsl:include href="includes/base.xsl"/>
        <xsl:tempalte match="*">
        .....do something

Template B.xsl for type B:

        <xsl:include href="includes/base.xsl"/>
        <xsl:tempalte match="*">
        .....do something

and so on for about 20 types

When transformation for a document of type A is done A.xsl and base.xsl
are loaded and kept in main memory.

When transformation for a document of type B is done B.xsl and A NEW
INSTANCE of base.xsl are loaded and kept in main memory.

After all we need 20 times the memory for base.xsl! So, main memory is
wasted and we have costs to allocate this memory.

Does anybody know how to avoid this behaviour?

I suspect you'll be out of luck - the various stylesheets get built
into a single Transformer so A+Base will be a separate Transformer to
B+Base and not share the parsed base.xsl in any way.

If memory is really critical and your specific stylesheets are simple,
then you can probably replace the import behaviour with a choose/when
in base.xsl, but you'd loose all of the maintainability benefits.


-- 
http://andrewjwelch.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

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