Subject: RE: [xsl] sort parameter problem From: "Michael Kay" <mhkay@xxxxxxxxxxxx> Date: Mon, 24 Sep 2001 18:56:27 +0100 |
> > The following construct hasn't any sort effect when called > with sort=bar > parameter: > <xsl:template name="list-foos"> > <xsl:param name="sort"/> > <xsl:for-each select="foos/foo"> > <xsl:sort select="$sort"/> > [..] > </xsl:for-each> > </xsl:template> It has no effect because every node has the same value of the sort key, that is, the value of the parameter $sort. > > The XSL spec says: > xsl:sort has a select attribute whose value is an expression. > And the sort key is the value of that expression. It's not the value of the expression that results from evaluating the expression. In other words, the sort key is the value of $sort, not the value of the expression contained in $sort. This is a FAQ. The most common circumventions are: (a) use a construct such as select="*[name()=$name]" (b) use saxon:evaluate() or xalan:evaluate() (c) modify the stylesheet before use Mike Kay XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] sort parameter problem, Guillaume Rousse | Thread | [xsl] No defaut possible namespace , Guillaume Rousse |
[xsl] accessing previous and next e, Guillaume Rousse | Date | [xsl] Sablotron 0.7 /PHP 4.0.6 prob, Carsten Heinrigs |
Month |