On Jul 5, 2006, at 16:21, karthik wrote:

Hi,

Sorry to get back so late.

Thanks for your comments. Looks like for sure there are FOP references hanging
around that GC could not clear up, which eventually kills the process.

[Since you've been profiling the process anyway, I feel like taking advantage of this. Hope you don't mind... ;)]

Which types of references? What kind of objects? Any pattern emerging? Any specific type of object we should definitely take a closer look at?

Below is
a higher-level layout of the xsl. Let me know if you see anything to improve.

Not immediately. It seems OK, but then, since it is higher-level, we still haven't seen what the page-sequences contain? How many pages by average? Minimum? Maximum? Do they contain a lot of large and/or nested tables?

Oh, just noticed something that does not look completely right to me, though. Don't know what the rest thinks; could be that I need to brush up my XSLT :/

Here we go:
<!-- For each DOCUMENT, call template -->
<xsl:for-each select="DOCUMENT">
  <xsl:call-template name="DOCUMENT">
  </xsl:call-template>
</xsl:for-each>
</fo:root>
</xsl:template>

<!-- DOCUMENT template-->
<xsl:template name="DOCUMENT">
               ^^^^^
...
  <fo:flow flow-name="xsl-region-body">
    <xsl:apply-templates/>
    <!--last page reference -->
    <fo:block id="{generate-id(.)}"/>
                              ^^^^^
This somehow seems dangerous, because:
what exactly is the context-node (.) defined to be inside a named template? IOW: is it always and necessarily the context-node within the calling template/for-each?

If I were you, I'd replace that entire construct by:

<xsl:apply-templates select="DOCUMENT" />
...
<xsl:template match="DOCUMENT">

Any reason in particular you're using for-each->call-template instead of apply-templates?


Cheers,

Andreas


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to