RE: stylesheet woes

Subject: RE: stylesheet woes
From: Kay Michael <Michael.Kay@xxxxxxx>
Date: Thu, 7 Oct 1999 10:44:00 +0100
I'd be interested in trying your example to see how it performs on SAXON.

I can't speak for Lotus XSL. SAXON does have some functions which exhibit
non-linear performance: the main ones are loops involving xsl:number or the
following / preceding axis.

This degree of non-linearity does suggest an algorithm problem rather than
simply memory thrashing.

Mike Kay 

> -----Original Message-----
> From: Greg Bylenok [mailto:gbylenok@xxxxxxxxxxxxx]
> Sent: 05 October 1999 08:39
> To: XSL-List@xxxxxxxxxxxxxxxx
> Subject: stylesheet woes
> 
> 
> Hello,
> 
> I'm hoping a few of you experts can help me with this problem.
> I've written an XSL stylesheet that works fine for small files but is
> blowing up on larger files. Is this more likely a problem with my
> stylesheet or the XSL processor I am using? Any suggestions or
> techniques for overcoming this problem?
> 
> Using IBM's latest LotusXSL processor, I recorded the following
> transformation times:
> 22Kb file took 1 sec
> 75Kb file took 88 sec
> 107Kb file took 963 sec
> 
> The hierarchy I'm trying to transform is much broader than it is deep
> (many branches off the root node, only three or four levels deep in
> places). The number of branches off the root node grows pretty much
> linearly with the file size. Thus, a 22Kb file has about 22 
> branches off
> 
> the root node, etc...
> 
> I'd like to be able to transform a 2Mb file without growing old. Any
> help would be greatly appreciated.
> 
> - Greg
> 
> Here are the details on what I'm trying to do:
> 
> My source file is a poorly structured SGML document which looks
> something like this:
> 
> <words>
>   <p>
>     <hw/>
>     <def/>
>   </p>
>   <p>
>     <def/>
>   </p>
>     <def/>
>   <p>
>     <hw/>
>     <def/>
>   </p>
> etc.
> 
> I'm simply trying to convert this into an HTML table, with each <hw/>
> and <def/> in its own successive row. I'm using a call like this:
> 
>         <xsl:template match="words">
>                         <TABLE>
>                                 <xsl:apply-templates
> select="./*/hw|./*/def"/>
>                         </TABLE>
>         </xsl:template>
> 
> where the "hw" template and the "def" templates simply insert 
> a row into
> 
> the table.
> 
> Just as the source tree is very broad, the result tree will 
> likewise be
> broad. Curiously, using IBM's XSLTrace utility, it almost appears that
> the processor loops through all the existing rows before inserting the
> newest
> row. I haven't stepped through the code, though, so for now this is an
> unverified hunch.
> 
> 
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


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


Current Thread