动态XSL文件

时间:2009-11-10 12:41:04

标签: xslt transform xsl-fo xslcompiledtransform

我有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方法。

任何想法该怎么做?

1 个答案:

答案 0 :(得分:1)

你看过XSL参数吗?

<xsl:param name="basepath" select="'C:\Users\Graeme\'" />

<xsl:value-of select="document(concat($basepath, 'test.pdf'))" />

然后,大多数不错的XSLT引擎都可以从外部设置根级别参数。