基于来自JIRA的XML RSS提要,我正在尝试根据日期创建一些分组 - 即全年一个月内有多少个错误。 这给了我一些问题。我可以根据他们的类型找到并分组任务,但是当涉及到处理日期时,我已经做不到了。
日期字符串如下所示:<created>Thu, 4 Oct 2012 10:53:38 +0200</created>
。
我的问题是我似乎无法从这个字符串中提取月份和年份。
该脚本将在JIRA / Confluence下运行,因此我怀疑exslt的date-paser是否适用于该平台。
我不需要时间,所以可以删除。我需要的是能够从这个文本字符串中提取月份+年份,以便我按照那些分组(02-2012)。
答案 0 :(得分:2)
相当丑陋但仍然是一个分组问题。使用xslt-1.0的“正常”解决方案是 muenchian分组(例如,查看this)。
使用此键:
<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,但是没有请求。