基于JIRA的XML RSS提要,我正在尝试创建一些基于日期的分组-即在一年中一个月内有多少bug。这给我带来了一些问题。我可以根据任务的类型找到任务并对其进行分组,但是当涉及到处理日期时,我就短了。
日期字符串看起来像这样:<created>Thu, 4 Oct 2012 10:53:38 +0200</created>
。我的问题是,我似乎无法从这个字符串中提取月份和年份。
脚本将在JIRA/Confluence下运行,所以我怀疑exslt的日期传递器将在该平台上工作。
我不需要时间,所以可以删除。我需要的是能够从这个文本字符串中提取月+年,以便我按那些(02-2012)分组。
非常难看,但仍然是一个分组问题。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(., ' '), ' ')
, ' ')
)" />
Loop over group:
<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,但这不是要求的。