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

Why won't relative path work for xsl:include?

我有一个 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="..." /> 是 link 外部文件的正确方法吗?或者我必须使用其他东西吗?

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 中是正确的。