Xslt 动态XSL文件

Xslt 动态XSL文件,xslt,transform,xsl-fo,xslcompiledtransform,Xslt,Transform,Xsl Fo,Xslcompiledtransform,我有3个XSL文件,其中有指向C:\templates\Test\file.pdf之类的路径 这个路径并不总是相同的,我希望它不是在XSL中硬编码的,而是将路径C:\templates\test\替换为标记[BASEPATH],当我在XSL文件中读入XSLTransform对象时(是的,我知道它已被弃用,我可能会同时转到XSLCompiledTransform),我希望将标记[BASEPATH]替换为web文件夹的绝对文件路径(或在.net中看到的Server.MapPath(“~”) 我想我可

我有3个XSL文件,其中有指向C:\templates\Test\file.pdf之类的路径

这个路径并不总是相同的,我希望它不是在XSL中硬编码的,而是将路径C:\templates\test\替换为标记[BASEPATH],当我在XSL文件中读入XSLTransform对象时(是的,我知道它已被弃用,我可能会同时转到XSLCompiledTransform),我希望将标记[BASEPATH]替换为web文件夹的绝对文件路径(或在.net中看到的Server.MapPath(“~”)

我想我可以创建一个XSLLoader aspx页面,该页面通过查询字符串获取XSL文件的名称,然后通过xml内容类型返回XSL文件。当我尝试这样做时,我得到了一个503错误,所以我不确定是否可以像这样将URL传递到XSLTransform.Load方法中


你知道怎么做吗?

你看过XSL参数了吗

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

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


然后,大多数体面的XSLT引擎都有一种从外部设置根级别参数的方法。

这与XSL-FO有什么关系?这是XSL的一部分—使用它生成PDF。不知道是否有一种方法可以使用相对路径在XSL-FO中指定外部图形?谢谢,这就是我过去的方式-现在已经使用了变量,只需要弄清楚如何从C#设置根级别参数。太好了,现在可以工作了-谢谢-将C#中的参数传递给不推荐的XslTransform对象,执行以下操作:XsltArgumentList xslArg=new XsltArgumentList();xslArg.AddParam(“日”、“日”);xslArg.AddParam(“年”、“年”);xslArg.AddParam(“天气”,“天气”,天气);XslTransform xslt=新建XslTransform();Load(样式表);XPathDocument XPathDocument=新的XPathDocument(文件名);XmlTextWriter=newxmltextwriter(“priceClassExample.html”,null);Transform(xpathdocument、xslArg、writer);writer.Close();