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
|