0

従来の ASP を使用しています。すでに RAM にロードされているスタイルシートがあります。私の問題は何ですか、私のXSLTには

<xsl:include href="../path to file/file.xslt" /> 

初期化。

RAM から IXMLDOMDocument オブジェクトにロードすると、相対パスがスローされます。これが私の現在のコードです

set XSLTObj = Server.CreateObject("Msxml2.XSLTemplate")
set XSLTObj.stylesheet = myXSLTFile
set XSLTProc = XSLTObj.createProcessor

XSLT ファイルは RAM から読み込まれるため、コンピューターは xsl:include タグの相対パスを特定する方法を知りません。したがって、ここからファイルをプルしようとします: C:\windows\system32\inetsrv

「デフォルトパス」を設定するか、何らかの方法でシミュレートする方法が本当に必要です。私が考えたいくつかのオプション(実際にはやりたくない)は次のとおりです。

  • XSLT ファイルをディスクの必要な場所に保存し、XSLTObj.load を使用します。
  • パスを配置したい場所から「ダミー」の XSLT ファイルをロードし、内容を RAM にある XSLT 内容に置き換えます。

代わりに使用したいパスを設定する何らかの方法を本当にお勧めします。アイデア?

4

1 に答える 1

0

私はリストの2番目のオプションを実行することになりました。相対パスの基にしたい場所に保存された XSLT ファイルをロードしました。次に、ドキュメント オブジェクト内のすべての子に対して removeChild コマンドを実行しました。次に、RAM の XSLT にあるすべての子に対して、cloneNode に続いて appendChild を実行しました。

それがルートパフォーマンスの点で最高だったかどうかはわかりませんが、私が探していたものを達成しました.

于 2011-08-05T13:12:20.960 に答える