具有多列的 XSLT 区域主体,强制块从新列开始
XSLT region-body with multiple columns, force block to start on a new column
我正在使用 XSLT 创建用于生成 PDF 的模板。我希望我的横向页面分为三列,我使用的是:
<fo:layout-master-set>
<fo:simple-page-master master-name="page" page-height="210mm" page-width="297mm"
margin="5mm 25mm 5mm 25mm">
<fo:region-body column-count="3" margin="30mm 0mm 30mm 0mm"/>
</fo:simple-page-master>
</fo:layout-master-set>
在我的一个模板中,我有一个 for-each 函数来编写一个块。当我生成我的 pdf 时,这有效并且我的数据分布在多个列中。但是由于我的块的性质,看起来很乱。
有没有办法让每个 'for-each' 部分都从一个新列开始?我找不到任何方法来做到这一点。
在第一个块上使用 break-before="column"
(参见 https://www.w3.org/TR/xsl11/#break-before)。类似于:
<fo:block>
<xsl:if test="position() = 1">
<xsl:attribute name="break-before">column</xsl:attribute>
</xsl:if>
...
我正在使用 XSLT 创建用于生成 PDF 的模板。我希望我的横向页面分为三列,我使用的是:
<fo:layout-master-set>
<fo:simple-page-master master-name="page" page-height="210mm" page-width="297mm"
margin="5mm 25mm 5mm 25mm">
<fo:region-body column-count="3" margin="30mm 0mm 30mm 0mm"/>
</fo:simple-page-master>
</fo:layout-master-set>
在我的一个模板中,我有一个 for-each 函数来编写一个块。当我生成我的 pdf 时,这有效并且我的数据分布在多个列中。但是由于我的块的性质,看起来很乱。
有没有办法让每个 'for-each' 部分都从一个新列开始?我找不到任何方法来做到这一点。
在第一个块上使用 break-before="column"
(参见 https://www.w3.org/TR/xsl11/#break-before)。类似于:
<fo:block>
<xsl:if test="position() = 1">
<xsl:attribute name="break-before">column</xsl:attribute>
</xsl:if>
...