在XSLT 1.0中使用EXSLT日期和时间模块会产生未知错误

时间:2010-05-22 19:11:36

标签: datetime xslt exslt

我在XSLT 1.0文件中添加了EXSLT日期和时间模块,声明:

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ... xmlns:date="http://exslt.org/dates-and-times" extension-element-prefixes="date">

这不会影响我的结果页面,但是当我尝试使用:

调用实际日期时
<xsl:value-of select="date:date-time()"/>

我收到“加载样式表时出错:加载页面时出现未知错误()”消息。 有没有人对我可能缺少的东西有所建议?提前致谢!

1 个答案:

答案 0 :(得分:2)

  

但是当我试着打电话给实际的时候   约会时间:

     

<xsl:value-of select="date:date-time()"/>

     

我收到了   “加载样式表时出错:An   发生未知错误()“消息   加载我的页面时

这意味着您使用的特定XSLT处理器未实现EXSLT (或仅仅是EXSLT的日期时间模块)。

这是一个小转变

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:date="http://exslt.org/dates-and-times"
 >
 <xsl:output method="text"/>

 <xsl:template match="/">
   <xsl:value-of select="date:date-time()"/>
 </xsl:template>
</xsl:stylesheet>

应用于任何XML文档(未使用),使用Saxon 6.5.4 XSLT 1.0处理器,生成正确的结果

2010-05-22T12:49:44-07:00

解决方案

使用实现EXSLT的XSLT 1.0处理器,或将当前日期时间作为参数传递给转换。

如果使用XSLT 2.x,只需使用XPath 2.0函数 current-dateTime()