在从RAM加载的IXMLDOMDocument上设置路径

时间:2011-08-03 21:19:21

标签: ixmldomdocument

我使用的是经典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文件是从R​​AM加载的,因此计算机不知道如何计算xsl:include标记的相对路径。所以它试图从这里拉出文件: C:\ Windows \ System32下\ INETSRV

我真的只需要一种方法来设置“默认路径”或以某种方式模拟它。我想到的几个选项(我真的不想这样做)是:

  • 将XSLT文件保存到我想要的光盘,然后使用XSLTObj.load
  • 从我想要的路径加载“虚拟”XSLT文件,然后用RAM中的XSLT内容替换内容

我真的会采用某种方式来设置我希望它使用的路径。想法?

1 个答案:

答案 0 :(得分:0)

我最终在列表中做了第二个选项。我加载了一个XSLT文件,该文件保存在我希望我的相对路径基于的位置。然后,我在文档对象内的每个子项上运行removeChild命令。然后我为一个位于RAM中的XSLT中的每个子进行了一个cloneNode,后跟一个appendChild。

我不确定这是否是最好的路线表现,但它完成了我想要的。