Как получить текущую дату и время в XSLT 1.0 - PullRequest
1 голос
/ 02 октября 2011

Я использую 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 вместо $ ОпубликовалДата Я хочу, чтобы текущая дата и время системы

, пожалуйста, предложите !!

Ответы [ 2 ]

4 голосов
/ 02 октября 2011

XSLT 1.0 не предоставляет никакого стандартного способа получения текущей даты / времени. Для этого вы можете вызвать функцию расширения (зависит от вашего процессора) или передать ее в таблицу стилей в качестве значения параметра.

1 голос
/ 02 октября 2011

Вот как это сделать с помощью утилиты командной строки 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"
...