为什么xsl:include的相对路径不起作用?

时间:2015-01-05 18:49:54

标签: css xml xslt

我有一个XSL文件,可以转换为PDF。在这个页面的顶部,我有一个很长的CSS样式,如

<xsl:attribute-set name="Header">
    <xsl:attribute name="font-size">
        <xsl:value-of select="$font-size"/>
    </xsl:attribute>
    <xsl:attribute name="font-weight">bold</xsl:attribute>
    <xsl:attribute name="text-align">center</xsl:attribute>
</xsl:attribute-set>
...

渲染需要很长时间,以便将其复制到另一个位置的新页面(PDF_style.xsl)中。然后我用

<xsl:include href="../allStyles/PDF_style.xsl"/>

但是当我测试它时,系统说它无法提交此文件位置!

注意:allStyles是我存储每个样式表文件的文件夹,路径是正确的。

<xsl:include href="..." />是否是链接外部文件的正确方法?或者我必须使用别的东西吗?

1 个答案:

答案 0 :(得分:4)

xsl:include/@hrefxsl:import/@href的相对路径是针对包含或导入的XSLT文件的目录解析的。

因此,如果您的XSLT文件是

/xslt/my.xsl

然后PDF_style.xsl文件必须在这里:

/allStyles/PDF_style.xsl

以便

<xsl:include href="../allStyles/PDF_style.xsl" />

/xslt/my.xsl中正确无误。