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]