Hello !
I would like to sort xml datas to display them in function of the user's
sort choice.
I send the sorting parameter (chosen by the user in a HTML form) to the xsl
stylesheet with the function addParameter from my xslt processor.
As I cannot do :
<xsl:sort select="$SortParam" case-order="lower-first"/>
I must evaluate the parameter as an XPath expression, which i have done
using the *evaluate* function of the *dyn* namespace :
<xsl:sort select="dyn:evaluate(.,$SortParam)" case-order="lower-first"/>
This is my xsl declaration :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dyn="http://exslt.org/dynamic"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
extension-element-prefixes="dyn msxsl">
and the dyn function is defined as follow :
<msxsl:script implements-prefix="dyn" language="jscript">
function evaluate(context, expression)
{
return context.nextNode().selectNodes(expression);
}
</msxsl:script>
It work fine but I'm just wondering if there's not another way of doing it
using standard xsl. I have seen things with <xsl:key> but i don't know if it
is appropiate here and actually i don't really understand what's this
element aims at...
Do you have suggestions ?
In advance thanks,
Matthieu.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list