Subject: Re: [xsl] Sorting Index alphabetically From: Ragulf Pickaxe <ragulf.pickaxe@xxxxxxxxx> Date: Thu, 24 Nov 2005 15:02:59 +0100 |
Hi Shailesh, On 11/24/05, shailesh <shailesh@xxxxxxxxxxxx> wrote: > How do I sort index alphabetically using xsl. This is both a grouping and a sorting problem. I would recommend looking through the various sites about grouping, for example: http://dpawson.co.uk/xsl/sect2/N4486.html#d5052e16 and http://jenitennison.com/xslt/grouping/index.xml A quick (untried) solution is here below. <xsl:key name="first-letter" match="Keyword" use="substring(translate(.,'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRST UVWXYZ'),1,1)"/> <xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/> <xsl:variable name="lower" select="'abcdefghijklmnopqrstuvwxyz'"/> <!-- Iterate through each letter --> <xsl:for-each select="Keyword[generat-id(.)=generate-id(key('first-letter',substring(transl ate(.,$lower,$upper),1,1)))]"> <xsl:sort select="substring(translate(.,$lower,$upper),1,1))"/> <h2><xsl:value-of select="substring(translate(.,$lower,$upper),1,1))"/></h2> <!-- Iterate through each word starting with current letter --> <xsl:for-each select="key('first-letter',substring(translate(.,$lower,$upper),1,1))"> <xsl:sort select="."/> <xsl:value-of select="."/><br/> </xsl:for-each> </xsl:for-each> I hope this helps you in the right direction. Regards, Ragulf Pickaxe :-)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Sorting Index alphabetica, Michael Kay | Thread | [xsl] Attribute value, Shailesh Shinde |
RE: [xsl] Sorting Index alphabetica, Michael Kay | Date | Re: [xsl] insecure xslt, Robert Koberg |
Month |