Ich habe die folgende Xsl-Vorlage, die ich verwende, um meine Xsl zu gruppieren. Das Problem, das ich habe, ist, dass ich den @Title in Großbuchstaben schreiben muss, da meine Gruppierung derzeit Groß- und Kleinbuchstaben als getrennte Gruppen sieht.
<xsl:key name="rows-by-title" match="Row" use="substring(@Title,1,1)" />
<xsl:template name="Meunchian" match="/dsQueryResponse/Rows">
<xsl:for-each select="Row[count(. | key('rows-by-title', substring(@Title,1,1))[1]) = 1]">
<xsl:sort select="substring(@Title,1,1)" />
<p></p><xsl:value-of select="substring(@Title,1,1)" /><br />
<xsl:for-each select="key('rows-by-title', substring(@Title,1,1))">
<xsl:value-of select="@Title" /><br/>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
Ich habe versucht, call-template zu verwenden und eine Variable zu setzen, aber xsl scheint dies nicht zu mögen:
<xsl:key name="rows-by-title" match="Row" use="substring(@Title,1,1)" />
<xsl:template name="Meunchian" match="/dsQueryResponse/Rows">
<xsl:for-each select="Row[count(. | key('rows-by-title', substring(@Title,1,1))[1]) = 1]">
<xsl:variable name="myTitle">
<xsl:call-template name="to-upper">
<xsl:with-param name="text">
<xsl:value-of select="@Title"/>
</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<p></p><xsl:value-of select="$myTitle" /><br />
<xsl:for-each select="key('rows-by-title', substring(@Title,1,1))">
<xsl:value-of select="@Title" /><br/>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
Was ich versuche zu erreichen ist meunchian Gruppierung, aber ohne Groß-und Kleinschreibung - hoffe, das macht Sinn!
Kieran