2

次のように宣言して、XSLT1.0ファイルにEXSLT日時モジュールを追加しました。

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

これは結果のページには影響しませんが、実際の日付を次のように呼び出そうとすると、次のようになります。

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

ページの読み込み中に「スタイルシートの読み込みエラー:不明なエラーが発生しました()」というメッセージが表示されます。誰かが私が欠けているかもしれないものについての提案がありますか?前もって感謝します!

4

1 に答える 1

2

しかし、実際の日付を次のように呼び出そうとすると:

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

ページの読み込み時に「スタイルシートの読み込みエラー: 不明なエラーが発生しました ()」というメッセージが表示される

これは、使用している特定の XSLT プロセッサが EXSLT (または EXSLT の日時モジュールのみ) を実装していないことを意味します。

ここに小さな変換があります:

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:date="http://exslt.org/dates-and-times"
 >
 <xsl:output method="text"/>

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

Saxon 6.5.4 XSLT 1.0 プロセッサを使用して任意の XML ドキュメント (使用されていない) に適用すると、正しい結果が生成されます。

2010-05-22T12:49:44-07:00

解決策:

EXSLT を実装する XSLT 1.0 プロセッサを使用するか、現在の日時をパラメーターとして変換に渡します。

XSLT 2.x を使用している場合は、XPath 2.0 関数を使用してcurrent-dateTime()ください。

于 2010-05-22T19:54:13.297 に答える