Use a variable?
<xsl:variable name="sortkey">
<xsl:call-template name="foo"/>
</xsl:variable>
<xsl:for-each select="/some/nodes">
<xsl:sort select="string($sortkey)"/>
...
Obviously, this is not a solution -- a sort key must be a function of the
current node if it is to be of any use. The value of the sort key above
would be constant for all /some/nodes and will not cause any changes in the
order they are represented in the node-list.
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list