I haven't had a chance to analyze this yet (and I may not be able to
this week), but one quick point is that wherever the Saxon performance
problem is, it's not actually in exsl:node-set(). That's because all
that exsl:node-set() does is to flip a bit saying that the tree can be
used as a normal document.
The problem (or opportunity for improvement!) is much more likely to be
in optimization of copying operations on trees.
An observation, on line 65 of incelim.xsl
<xsl:copy-of select="exsl:node-set($rng)"/>
there is no need for a call on exsl:node-set() here. You can copy an RTF
directly.
Michael,
I've followed your suggestion and fixed the typo -- it was an oversight on my
side instead. Note, though, that this operation is only executed once
per the stylesheet, and as you said, the only thing node-set() does is to
flip a bit.
The execution time didn't change at all, and it should not change.
David
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list