2

我正在使用 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我想要系统当前日期和时间

请建议!

4

2 回答 2

4

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

于 2011-10-02T13:43:13.917 回答
1

以下是使用msxsl.exe 命令行实用程序(用于 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"
于 2011-10-02T19:48:27.460 回答