如何在XSLT 1.0中获取当前日期和时间

时间:2011-10-02 12:29:33

标签: xslt tridion

我正在使用xslt 1.0,我正在尝试将当前日期和时间打印到我的节点。以下是示例xslt

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:tcm="http://www.tridion.com/ContentManager/5.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:em="http://www.emirates.com/tridion/schemas" xmlns:tcmse="http://www.tridion.com/ContentManager/5.1/TcmScriptAssistant" exclude-result-prefixes="em xlink tcmse tcm">
  <xsl:output method="xml" version="1.0" encoding="UTF-16" indent="yes"/>

  <!-- Common XSLT Templates-->
  <xsl:include href="tcm:228-190524-2048"/>
  <!-- root match-->
  <xsl:template match="root">
    <sitedata>
      <resources>        
        <PublishedDate>
          <xsl:value-of select="$publishedDate"/>
        </PublishedDate>
      </resources>     
    </sitedata>
  </xsl:template>

在上面的XSLT中,代替 $ publishedDate 我想要系统当前的日期和时间

请建议!!

2 个答案:

答案 0 :(得分:4)

XSLT 1.0没有提供任何标准方法来获取当前日期/时间。您可以调用扩展函数(取决于您的处理器),也可以将其作为参数值传递给样式表。

答案 1 :(得分:1)

以下是使用msxsl.exe command-line utility (对于MSXML)执行此操作的方法:

XSLT代码(testParams.xsl)

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:param name="vDate" select="xyz"/>

 <xsl:template match="/">
  "<xsl:value-of select="$vDate"/>"
 </xsl:template>
</xsl:stylesheet>

XML文档(t.xml)(假,被忽略):

<t/>

<强>命令行

msxsl t.xml testParams.xsl -o con vDate='%date%'

<强>结果

"Sun 10/02/2011"