我正在尝试动态生成将输出模板的样式表,该模板将使用参数,但解析器正在尝试在第一步中插入用于第二步的变量。我要从 XSLT 到 XSLT(别名 axsl),然后到 XSL-FO
<xsl:template match="/">
<axsl:stylesheet version="1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<axsl:template match="/">
<axsl:param name="region-before-height" select="'1.75in'"/>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="single-transcript" axsl:use-attribute-sets="page-portrait">
<fo:region-body />
<fo:region-before extent="{$region-before-height}"/>
</fo:simple-page-master>
</fo:layout-master-set>
<axsl:apply-templates/>
</fo:root>
</axsl:template>
</axsl:stylesheet>
</xsl:template>
我收到一个运行时错误,提示“尚未声明变量 'region-before-height'”。什么是正确的语法,以便 {$region-before-height} 仅在第二次转换期间被解释?