I wnat to create a directory like index from a list of names. I want to
have section heading for each existing first-letter, followed by all
names starting with that first letter, omitting non-existant letters.
Like this:
A
Alexander
Andrea
M
Martin
Max
Moritz
.
.
.
I made it this far:
<xsl:template match="/">
<xsl:for-each select="artist[substring(name,1,1)]">
<xsl:sort select="name"/>
<div class="group">
<h1><xsl:value-of select="substring(name,1,1)"/></h1>
<xsl:call-template name="artistlist">
<xsl:with-param name="letter"
select="substring(name,1,1)"/>
</xsl:call-template>
</div>
</xsl:template>
<xsl:template name="artistlist">
<xsl:param name="letter"/>
<xsl:for-each select="artist[starts-with(name,$letter)]">
<xsl:sort select="name"/>
<div class="artist"><xsl:value-of select="name"/></div>
</xsl:for-each>
</xsl:template>
But this is creating an extra list for all names for every letter, that
would be three times the list for M in my above example.
Any ideas on altering the code?
Thanks for your help,
Alexander
--
_________________________________
Alexander Czernay
IT-Consulting & Media Development
fon +49-40-41096742
fax +49-40-41096743
icq 4773650
alexander(_at_)czernay(_dot_)com
www.czernay.com
_________________________________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list