2
我有我用来分组我的xsl的以下xsl模板。我遇到的问题是我需要大写@Title,因为目前我的分组将大小写为单独的组。xsl分组排序问题
<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>
我试图用调用模板和设置变量,但XSL似乎并不喜欢这样的:
<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>
我所试图实现的是meunchian分组但没有区分大小写 - 希望这可以让Sense!
基兰