function current-date xslt无法正常工作

时间:2016-05-04 08:42:56

标签: xml xslt

我正在尝试在xslt中使用当前日期函数,但它无法正常工作。我可以错过什么吗?

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:xs="http://www.w3.org/2001/XMLSchema" 
        xmlns:func="http://exslt.org/functions" 
        xmlns:date="http://exslt.org/dates-and-times"
        extension-element-prefixes="date" date:doc="http://www.exslt.org/date">

        <xsl:output method="xml" indent="yes"/>
          <xsl:template match="/">
              <value><xsl:value-of select="current-date()"/></value>
          </xsl:template>
</xsl:stylesheet>

我收到错误:错误al comprobar el tipo delaexpresión'funcall(current-date,[])'。',表示“检查expresion时出错'funcall(current-date)'”

为什么这不起作用?

2 个答案:

答案 0 :(得分:2)

您是否尝试过以下(来自XSLT1)

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:xs="http://www.w3.org/2001/XMLSchema" 
        xmlns:func="http://exslt.org/functions" 
        xmlns:date="http://exslt.org/dates-and-times"
        extension-element-prefixes="date" date:doc="http://www.exslt.org/date">

        <xsl:output method="xml" indent="yes"/>
          <xsl:template match="/">
              <value><xsl:value-of select="date:date()"/></value>
          </xsl:template>
</xsl:stylesheet>

仅返回日期(带时区)

答案 1 :(得分:1)

current-date是一个XSLT 2.0函数。

但由于您使用的是EXSLT,因此致电date:date()将返回当前日期:

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