2

基于来自 JIRA 的 XML RSS 提要,我正在尝试根据日期创建一些分组 - 即全年一个月内有多少错误。这给我带来了一些问题。我可以根据任务的类型找到并分组任务,但是在处理日期方面我做得不够。

日期字符串如下所示:<created>Thu, 4 Oct 2012 10:53:38 +0200</created>. 我的问题是我似乎无法从这个字符串中提取月份和年份。

该脚本将在 JIRA/Confluence 下运行,因此我怀疑 exslt 的日期分析器是否可以在该平台上运行。

我不需要时间,所以可以删除。我需要的是能够从这个文本字符串中提取月份+年份,以便我按这些(02-2012)分组。

4

1 回答 1

2

相当丑陋但仍然是一个分组问题。xslt-1.0 的“正常”解决方案是muenchian 分组(例如看这个)。

使用此键:

<xsl:key name="kMonthYear" match="created"  use="concat( 
                        substring-before(
                            substring-after( substring-after( substring-after(., ' '), ' '),' ')
                            , ' '),
                         '-', 
                         substring-before(
                            substring-after( substring-after(., ' '), ' ')
                            , ' ')
                        )" />

循环组:

<xsl:for-each select="//created[
         generate-id() = generate-id(key('kMonthYear', concat( 
                    substring-before(
                        substring-after( substring-after( substring-after(., ' '), ' '),' ')
                        , ' '), 
                     '-', 
                     substring-before(
                        substring-after( substring-after(., ' '), ' ')
                        , ' ')
                    ))[1])
          ]" >

循环组成员

        <xsl:for-each select="key('kMonthYear', concat( 
                    substring-before(
                        substring-after( substring-after( substring-after(., ' '), ' '),' ')
                        , ' '), 
                     '-', 
                     substring-before(
                        substring-after( substring-after(., ' '), ' ')
                        , ' ')
                    ))" >

我看不到如何按月排序,没有任何扩展名或使用 xslt-2.0,但这不是要求的。

于 2013-05-27T14:15:58.790 回答