2011-08-03 19 views
0

我使用的是經典的ASP。我有一個已經加載到RAM的樣式表。我的問題是,我的XSLT有一個在從RAM加載的IXMLDOMDocument上設置路徑

<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文件存在,那麼替換爲XSLT內容那是在RAM

內容我真的perfer一些方法來設置我希望它來代替使用,雖然路徑。想法?

回答

0

我最終做了清單上的第二個選項。我加載了一個XSLT文件,該文件保存在我希望我的相對路徑基於的地方。然後,我在文檔對象內的每個子節點上運行removeChild命令。然後我做了一個cloneNode,後面跟着一個appendChild,用於RAM中XSLT中的每個孩子。

我不確定它是否是最好的路線性能明智的,但它完成了我正在尋找的東西。