[Home] [By Thread] [By Date] [Recent Entries]
Fabien Tillier wrote:
<data> <row> <level>40</level> <keycode>1254.45.12</keycode> </row> <row> <level>50</level> <keycode>1254.45.12.7</keycode> </row> <row> <level>50</level> <keycode>1254.45.12.8</keycode> </row> <row> <level>50</level> <keycode>1254.45.12.9</keycode> </row> The following outputs "3" for your sample: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:param name="l1" select="'50'"/> <xsl:param name="l2" select="'40'"/> <xsl:key name="k1" match="row" use="level"/> <xsl:template match="/"> <xsl:variable name="groups" as="element(group)*"> <xsl:for-each select="key('k1', $l2)"> <group> <xsl:copy-of select="key('k1', $l1)[starts-with(keycode, current()/keycode)]"/> </group> </xsl:for-each> </xsl:variable> <xsl:value-of select="max($groups/count(row))"/> </xsl:template> </xsl:stylesheet> -- Martin Honnen http://msmvps.com/blogs/martin_honnen/
|

Cart



