我需要XSLT方面的帮助来重新格式化时间,但运气不太好。
<names>
<name>
<foo id='x_date'>
<value> 01/23/2011 13:20:00 PDT</value>
</foo>
</name>
</names>
如何通过XSLT将日期从"2011年1月23日01:23:00 PDT"更改为"2011年1月3日09:24:GMT+00:00?"?
请帮帮我,我快死了:-)
例如,如果您愿意使用使用Java的Xalan扩展的非XSLT解决方案,您可以选择此处所述的日期-时间函数:
http://exslt.org/date/index.html
类似的东西
<xsl:value-of select="
date:format-date(
date:parse-date(/names/name/foo/value, $inPattern),
$outPattern)" />
在您的特定情况下,您可能必须在自定义名称空间中实现自己的日期格式化程序。这很简单:
- 将Xalan添加到类路径
- 创建自定义日期格式化程序:
package org.example;
public class MyExtension {
public static String myFormat(String date) {
// Do the formatting
}
}
- 在XSLT样式表中使用上面的格式化程序:
<xsl:stylesheet xmlns:myextension="http://org.example.MyExtension">
..
<xsl:value-of select="myextension:myFormat(/names/name/foo/value)"/>
..
</xsl:stylesheet>
更多文档可以在这里找到:
http://exslt.org