使用XSLT的文件路径包括

时间:2010-06-10 17:38:17

标签: html xml xslt

我正在一个有大量网页的网站上工作,每个网页都有: <xsl:include href="team-menu.xsl" />

此xsl文件存储在根目录中。

基本上包括每页的“团队菜单”。我的问题是当我将它包含在嵌套页面上时,例如“/teammembers/smith.xsl”,菜单中的链接被破坏,因为它们引用的页面与我正在查看的页面不在同一目录中。

这可能很简单,但我不知道如何修复它。有没有办法告诉XSL根目录和/或设置某种全局目录?谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

您可以使用XSL参数传递基目录。所有处理器都带有传递这些的机制(例如xsltproc --stringparam basedir style)。在样式表中,您应该能够使用以下内容来使用参数:

<xsl:param name="basedir" />
<xsl:include href="{$basedir}/team-menu.xsl" />

答案 1 :(得分:0)

如果我正确理解你的问题,你可以使用绝对链接,而不是相对链接。

即。 /index.xml代替index.xml