假设我在 SharePoint Designer 2010 的 xslt 文件中定义了一个键:
<xsl:key name="Years" match="/dsQueryResponse/Rows/Row" use="@Date" />
其中 @Date 是列,但是我想使用以下变量的值而不是 @Date:
<xsl:variable name="VarNAme">
<xsl:choose>
<xsl:when test="string-length(@Date) = 8">
<xsl:value-of select="substring(@Date, 5, 4)"></xsl:value-of>
</xsl:when>
<xsl:when test="string-length(@Date) = 9">
<xsl:value-of select="substring(@Date, 6, 4)"></xsl:value-of>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="substring(@Date, 7, 4)"></xsl:value-of>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
如果有更好的方法(单行)来获取日期的年份,我也很欢迎。我想使用generate-id来获取不同的年份(不是日期,年份)。
最佳答案
<xsl:key
name="Years"
match="/dsQueryResponse/Rows/Row"
use="substring(@Date, string-length(@Date) - 3, 4)"
/>
提示
8 - 3 = 5 9 - 3 = 6 10 - 3 = 7
;-)
关于xslt - 如何在XSLT中使用变量的值作为键的use属性,我想在键标签中实现use ="$Variable";;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8944353/