Hi,
<xsl:template name="groupelembyname">
<xsl:param name="gruppe" />
<h1><a id="label{substring($gruppe[1], 1, 1)}">label <xsl:value-of select="substring($gruppe[1], 1, 1)" /></a></h1>
<xsl:for-each select="$gruppe">
<xsl:sort select="@name" />
<p>
<xsl:value-of select="." />
</p>
</xsl:for-each>
</xsl:template>
Hab das jetzt noch leicht modifiziert - ich will eigentlich keine zusätzlichen Elemente (so wie hier im Beispiel die h1 + a), sondern direkt in den sowieso erzeugten Elementen (hier: p) die id.
Aber das ist jetzt kein Problem - innerhalb des for-each kann ich mit test="position()=1" arbeiten:
<xsl:template name="groupelembyname">
<xsl:param name="gruppe" />
<xsl:for-each select="$gruppe">
<xsl:sort select="@name" />
<p>
<xsl:if test="position() = 1">
<xsl:attribute name="id">label<xsl:value-of select="translate(substring(@name, 1, 1), 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/></xsl:attribute>
</xsl:if>
<xsl:value-of select="." />
</p>
</xsl:for-each>
</xsl:template>
Nochmals vielen Dank für Deine Mühen!
Nicht nur mein akutes Problem ist gelöst, ich meine, jetzt grundsätzlich key verstanden zu haben.
cu,
Andreas
MudGuard? Siehe http://www.Mud-Guard.de/