xsl:import或xsl:include的相对路径

alu*_*umb 6 xml xslt vbscript client-side

我试图使用VBScript对XML对象进行XSLT转换.
我正在翻译的XSL文件包含该<xsl:import href="script.xsl"/>指令.如果我使用绝对URL(http://localhost/mysite/script.xsl),它会很好地导入样式表; 但是,如果我使用相对路径(script.xsl),它会报告"找不到资源".我需要能够在一组机器中移植它,所以我需要能够使用相对URI.有什么建议?

笔记:

  • VBScript文件位于 http://localhost/myscript.asp
  • 第一个XSL文件是 http://localhost/mysite/styles.xsl
  • 第二个XSL文件是 http://localhost/mysite/script.xsl
  • 使用相对路径mysite/script.xsl也不起作用

附录:

谢谢,大家,谢谢你的回答.我越是深入研究这样做的代码,它就是陌生人.myscript.asp是一个相当不寻常的代码汇编.发生的事情是作为XML chunk()styles.xsl包含在HTML输出中,然后在客户端使用VBScript将该块作为样式表加载.然后,此样式表用于转换通过XMLHTTP检索的XML块.所以问题是客户端HTML 的上下文与哪里没有关系.myscript.asp<xml src=...>styles.xslscript.xsl

alu*_*umb 0

第一次尝试:

我尝试将 script.xsl 作为另一个 xml 块包含进来,并以我能想象到的各种方式更改导入语句,但没有成功。

最终解决方案:

由于包含 script.xsl 的绝对 url 从一开始就有效,因此我的最终解决方案是将 style.xsl 转换为具有正确文档类型的 style.asp。然后,在这个文件中,我能够检索服务器名称、协议和路径,并使用 asp 将它们回显到导入语句中的正确位置。然后,当该文件包含在 mysscript.asp 中时,它就具有服务器的正确绝对 URL。这是一个有点黑客,但我发现解决这个相当复杂的情况的唯一方法。