1. ホーム
  2. xslt

[解決済み] XSLTで現在の日付を挿入することはできますか?

2022-02-25 16:36:40

質問

私のオフィスで使用しているプログラムは、XSLTファイルでエクスポートされたXMLファイルをXHTMLに変換してレポートをエクスポートします。XSLTを書き換えて、書式を変更し、ソースXMLファイルからより多くの情報を追加しているところです。

最終報告書にファイルの作成日を記載したいのですが。しかし、現在の日付/時刻は元のXMLファイルには含まれていませんし、XMLファイルがどのように作成されるかを制御することもできません。XSLTに組み込まれた日付関数には、現在の日付を返すものはないようです。

どなたか、XSLT 変換中に現在の日付を含めることができるかもしれない方法をご存知でしょうか?

解決方法は?

XSLT 2

などの日付関数がネイティブで利用可能です。

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

また current-date()current-time() .

XSLT 1

EXSLT date and times extension パッケージを使用します。

  1. ダウンロード 日付と時間 パッケージは ギットハブ .
  2. 抜粋 date.xsl をXSLファイルの場所にコピーしてください。
  3. スタイルシートのヘッダーを設定します。
  4. インポート date.xsl .

例えば、こんな感じです。

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

    <xsl:import href="date.xsl" />

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