Subject: Re: [xsl] main memory consumption using xalan From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx> Date: Mon, 30 Jul 2007 13:33:50 +0100 |
On 7/30/07, Lensch, Thomas <Lensch@xxxxxxxx> 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] main memory consumption using, Lensch, Thomas | Thread | RE: [xsl] main memory consumption u, Michael Kay |
[xsl] main memory consumption using, Lensch, Thomas | Date | RE: [xsl] main memory consumption u, Michael Kay |
Month |