At 05:15 PM 8/17/2006, you wrote:
Thanks for the background and the hint to look for "micropipelining".
You're welcome -- though be warned that the term of art isn't exactly
common usage, and may never be. It's just a convenient way of
describing it. Looking for "node-set() extension" will get you piles
of hits, however.
I'm using Saxon 6.5.x which already supports automatic conversion from
RTF to nodeset (assuming I correctly read Michael Kay's excellent "XSLT
Programmer's Reference 2nd edition" book). I'm assuming that for other
XSLT engines, the node-set() function would be needed in my output table
call...along the lines of <xsl:with-param name="entries"
select="xalan:node-set($speed_table_values)/*"/>. Correct me if I'm not
understanding the proper extension usage for micropipelining.
No, that's about correct.
Strictly speaking, by supporting this feature transparently (that is,
without exslt:node-set() or the equivalent), Saxon 6.5.x (hm, which
versions though) varies from precise (some might say gratuitously
complete) XSLT 1.0 conformance, so you should be forewarned.
You won't have been the first to use it this way, however; in fact
I've seen XSLTers do this without even knowing it was verboten in
XSLT 1.0. (Lucky for them it's becoming approved practice in 2.0.)
Like every standard, XSLT 1.0 has its warts. Nonetheless, in general
and in principle I'm in favor of adhering zealously to the letter of
the law, even if in practice I'm willing to consider exceptions (as
long as we lower our voices in public). And you never know: you might
be doing a future maintainer a big favor by explicitly using the function.
To close the loop for the next poor sod trying to understand this
problem, I'm posting my working mini-demonstration of a stylesheet that
does what I want....
Thanks. That and a decent subject line will get you a gold star in
the Eternal XSLT Halls of Fame (or at least among future users of the archive).