我有3个XSL文件,其中的路径类似于C:\ templates \ Test \ file.pdf
这条路径并不总是相同,而不是在XSL中进行硬编码,我希望它能使路径C:\ templates \ test \替换为标签[BASEPATH]并且当我将xsl文件读入XSLTransform对象时(是的,我知道它已被弃用,我可能会同时转移到XSLCompiledTransform),我希望将标签[BASEPATH]替换为绝对文件路径web文件夹(或Server.MapPath(“〜”)看到它在.net中)
我以为我可以创建一个XSLLoader aspx页面,该页面通过查询字符串获取XSL文件的名称,然后通过xml content-type返回XSL文件。当我尝试这个时,我得到503错误,所以我不确定你是否可以将这样的URL传递到XSLTransform.Load方法。
任何想法该怎么做?
答案 0 :(得分:1)
你看过XSL参数吗?
<xsl:param name="basepath" select="'C:\Users\Graeme\'" />
<xsl:value-of select="document(concat($basepath, 'test.pdf'))" />
然后,大多数不错的XSLT引擎都可以从外部设置根级别参数。