RE: Table alternate rows colors within xsl:sort
> I would want to display a datagrid which lines colors > varies regarding the position (one line white, one > line gray, one line white, ...) AFTER an xsl:sort. > > The problem is that the "<xsl:if test="position() mod > 2 = 0"> won't work after a <xsl:sort> because the > position() function returns the position in the > original xml, not the in sorted nodes. > > I can't use a variable because xslt do not allow to > increment it within my xsl:for-each > > Do someone know a solution to this ? A simple way is to do the sort in a variable first, then for-each over the variable to produce your table rows. <xsl:variable name="sortedRows-rtf"> <xsl:for-each select="links/link"> sort, xsl:copy etc... </xsl:for-each> </xsl:variable> <xsl:variable name="sortedRows" select="xxx:node-set($sortedRows-rtf)"/> Then... <table> <xsl:for-each select="$sortedRows"> <xsl:for-each select="link"> .... Get the idea? Whenver you have some multi-stage processing to do, just split it up into variables, each one working on the previous one. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format