FO:XSL 上的动态列数量
Dynamic columns quantity on FO:XSL
有什么方法可以让例如连续 2 列,然后在下一行制作 3 列?
<fo:block font-size="16pt" font-weight="bold" space-after="5mm">Company employees: <xsl:value-of select="companyname"/>
</fo:block>
<fo:block font-size="10pt">
<fo:table table-layout="fixed" width="100%" border-collapse="separate">
<fo:table-column column-width="4cm"/>
<fo:table-column column-width="4cm"/>
<fo:table-column column-width="5cm"/>
<fo:table-body>
<xsl:apply-templates select="client"/>
</fo:table-body>
</fo:table>
</fo:block>
</fo:flow>
如果您希望一个 table 单元格跨越两列,那就是 number-columns-spanned
属性(请参阅 https://www.w3.org/TR/xsl11/#number-columns-spanned,并且永远不要这样说XSL-FO 是简洁的)。例如:
<fo:table-cell number-columns-spanned="2">...</fo:table-cell>
如果您想要在任何行中有两个相等的列或三个相等的列,那么您可以制作一个六列 table 并让每个 fo:table-cell
跨越两列或三列,或者您可以制作一个单列table,并在外层table.[=17=的每一行的单个fo:table-cell
中放置一个单独的两列或三列table ]
如果您使用的是 AH Formatter,那么您可以使用 axf:tab
(请参阅 https://www.antenna.co.jp/AHF/help/v70e/ahf-ext.html#text-tab)并设置适当的制表位,但我还没有尝试过。
有什么方法可以让例如连续 2 列,然后在下一行制作 3 列?
<fo:block font-size="16pt" font-weight="bold" space-after="5mm">Company employees: <xsl:value-of select="companyname"/>
</fo:block>
<fo:block font-size="10pt">
<fo:table table-layout="fixed" width="100%" border-collapse="separate">
<fo:table-column column-width="4cm"/>
<fo:table-column column-width="4cm"/>
<fo:table-column column-width="5cm"/>
<fo:table-body>
<xsl:apply-templates select="client"/>
</fo:table-body>
</fo:table>
</fo:block>
</fo:flow>
如果您希望一个 table 单元格跨越两列,那就是 number-columns-spanned
属性(请参阅 https://www.w3.org/TR/xsl11/#number-columns-spanned,并且永远不要这样说XSL-FO 是简洁的)。例如:
<fo:table-cell number-columns-spanned="2">...</fo:table-cell>
如果您想要在任何行中有两个相等的列或三个相等的列,那么您可以制作一个六列 table 并让每个 fo:table-cell
跨越两列或三列,或者您可以制作一个单列table,并在外层table.[=17=的每一行的单个fo:table-cell
中放置一个单独的两列或三列table ]
如果您使用的是 AH Formatter,那么您可以使用 axf:tab
(请参阅 https://www.antenna.co.jp/AHF/help/v70e/ahf-ext.html#text-tab)并设置适当的制表位,但我还没有尝试过。