动态 XSL 文件

发布于 2024-08-11 05:14:25 字数 452 浏览 9 评论 0原文

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

该路径并不总是相同,而不是将其硬编码在 XSL 中,我希望它以便路径 C:\templates\test\ 被标记 [BASEPATH] 替换,当我将 xsl 文件读入 XSLTransform 对象时(是的,我知道它已被弃用,我可能会同时移至 XSLCompiledTransform ),我希望将标签 [BASEPATH] 替换为 Web 文件夹的绝对文件路径(或 Server.MapPath("~") ,因为它在 .net 中)

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

有什么想法要做什么吗?

I have 3 XSL files which have paths in them to something like C:\templates\Test\file.pdf

This path isn't always going to be the same and rather than having it hard coded in the XSL, I'd like it so that the path C:\templates\test\ is replaced with a tag [BASEPATH] and when I read in the xsl file into the XSLTransform object (yes I know it's been deprecated, I may move over to the XSLCompiledTransform at the same time), I'd like the tag [BASEPATH] to be replaced with the absolute file path of the web folder (or Server.MapPath("~") seeing as it is in .net)

I thought I may be able to make an XSLLoader aspx page which takes the name of the XSL file through the querystring and then returns the XSL file via xml content-type. When I try this, I get a 503 error though so I'm not sure if you can pass urls like this into the XSLTransform.Load method.

Any ideas what to do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

平生欢 2024-08-18 05:14:25

您看过 XSL 参数吗?

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

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

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

Have you looked at XSL parameters?

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

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

Then, most decent XSLT engines have a way to set a root level parameter from outside.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文