Thank you Mike,
XSLT 2.0 allows you to create a sorted sequence of nodes using the
sort() function, with named sort keys:
<xsl:sort-key name="sk1">
<xsl:sort select="exp2"/>
</xsl:sort-key>
<xsl:copy-of select="sort('sk1', exp)"/>
This is really great.
Due to the global scope of a sort key and the brevity of the
spec on sort keys and the sort() function, there are still
some questions:
1. Are there any limitations on exp2 above? Would it be
allowed to contain xsl:variable references, xsl:function
references or the key() function?
It can contain all these things, subject to the general rules that
disallow circular references.
2. Would it be possible for exp2 to contain a reference to a
locally defined xsl:variable (not a top-level one)?
No, the xsl:sort-key element is top-level, so there will be no
locally-defined variables in scope. Do you have a use case where this
creates a problem?
Michael Kay
Software AG
home: Michael(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list