xslt - 如何在XSLT中使用变量的值作为键的use属性,我想在键标签中实现use ="$Variable";;

标签 xslt sharepoint-2010 sharepoint-designer xslt-1.0

假设我在 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/

相关文章:

xslt - 在XSLT中按范围限制输出

xml - XSLT 转换

jquery - $(window).scroll 未触发

sharepoint - 我们如何更改 Sharepoint 门户的完整外观?

xml - 使用 tokenize 函数分割文本

xml - 我可以将多个 xsl 文件导入到另一个 xsl 文件吗?

css - 如何替换或删除 Sharepoint 2010 功能区中的 HTML 编辑器样式

sharepoint-2010 - FIM 同步服务器未启动 - SharePoint 2010

sharepoint - 验证 SharePoint 2010 中的特殊列类型