XSL - 将“space-after”属性的值乘以参数

时间:2014-06-13 13:45:57

标签: xslt

我希望“space after”具有不同的值,具体取决于参数的值

以下是我的xsl部分:

<xsl:param name="OFFSET_LEFT" select="2"/>

<xsl:call-template name="table_left">
   <xsl:with-param name="OFFSET_LEFT" select="$OFFSET_LEFT"/>
</xsl:call-template>


<xsl:template name="table_left">
   <xsl:param name="OFFSET_LEFT" select="1"/>

   <fo:block space-after="10.9mm" keep-with-next.within-page="always">
      &#0160;
   </fo:block>

所以基本上我要做的就是更改行

<fo:block space-after="10.9mm" keep-with-next.within-page="always">

<fo:block space-after="(10.9 * $OFFSET_LEFT)mm" keep-with-next.within-page="always">

但这给了我一个错误:

Invalid property value encountered in space-after="(10.9 * $OFFSET_LEFT)mm": org.apache.fop.fo.expr.PropertyException: illegal character; property:'space-after'

所以,我猜你看到我想要做的事情。 有没有其他方法可以解决我的问题

谢谢。

1 个答案:

答案 0 :(得分:3)

这应该有效:

<fo:block space-after="{(10.9 * $OFFSET_LEFT)}mm" keep-with-next.within-page="always">