0

XSLT 1.0 と C# 2.0 を使用しています。ロードしたドキュメントをキャッシュして、次のページが呼び出されるたびに、再度ロードする代わりにキャッシュ ドキュメントを使用する必要があります。

これは、param sitespathでC# から物理パスを取得している XSLT の一部です。C#を使用してこのドキュメントをキャッシュできることはわかっていますが、ロードされたドキュメントを xslt 1.0 でキャッシュしようとしています。

サンプルコード:

<xsl:param name="sitespath"/>
<xsl:variable name="siteInfoPath" select="document($sitespath)/sitedata/region/site/language"/>

今、私はsiteInfoPath変数をキャッシュして、ドキュメントとしてロードしないたびに、最初にキャッシュされた変数をチェックしてキャッシュからロードしようとするか、それ以外の場合は再度ロードします。

これは可能ですか?

提案してください!!

ありがとう。

4

1 に答える 1

0

複数の変換のために xslt で document() 関数の結果をキャッシュできるとは思いません。document() 関数は実行時に評価されます。ただし、できることは、ドキュメントを C# プログラムにキャッシュし、それを外部パラメーターとして変換に渡すことです (おそらく XPathNavigator を渡す必要があります。こちらの XsltArgumentList.AddParam ドキュメントを参照してください http://msdn.microsoft.com/en詳細については、 -us/library/system.xml.xsl.xsltargumentlist.addparam.aspxを参照してください)。

于 2012-06-20T16:03:34.533 に答える