fo:table-row 顶部的填充

问题描述 投票:0回答:1

我正在使用 Apache FOP v2.9,以及 JDK v17 下的 Saxon HE v12.3 和 XSLT 版本 3.0。

我正在尝试在表的行级别指定填充。

根据文档,这应该可以工作,但填充被忽略:

<xsl:template match="OrderLines">
    <fo:table table-layout="fixed" width="100%" border="solid 1pt">
        <fo:table-column column-width="18mm"/>
        <fo:table-column/>
        <fo:table-body>
            <xsl:for-each select="OrderLine">
                <fo:table-row         padding-top="15pt">
                    <fo:table-cell>
                        <fo:block>SKU</fo:block>
                    </fo:table-cell>
                    <fo:table-cell>
                        <fo:block>Qty</fo:block>
                    </fo:table-cell>
                </fo:table-row>
            </xsl:for-each>
        </fo:table-body>
    </fo:table>
</xsl:template>

这很好用:

<xsl:template match="OrderLines">
    <fo:table table-layout="fixed" width="100%" border="solid 1pt">
        <fo:table-column column-width="18mm"/>
        <fo:table-column/>
        <fo:table-body>
            <xsl:for-each select="OrderLine">
                <fo:table-row>
                    <fo:table-cell         padding-top="15pt">
                        <fo:block>SKU</fo:block>
                    </fo:table-cell>
                    <fo:table-cell         padding-top="15pt">
                        <fo:block>Qty</fo:block>
                    </fo:table-cell>
                </fo:table-row>
            </xsl:for-each>
        </fo:table-body>
    </fo:table>
</xsl:template>

任何人有什么想法吗?

生成的 FO(摘录)如下所示:

<fo:table-row padding-top="15pt">
    <fo:table-cell text-align="left">
        <fo:block>SKU</fo:block>
    </fo:table-cell>
    <fo:table-cell padding-right="2mm">
        <fo:block>Qty</fo:block>
    </fo:table-cell>
</fo:table-row>
xsl-fo apache-fop xslt-3.0
1个回答
0
投票

padding-top
和其他填充属性不适用于
fo:table-row

https://www.w3.org/TR/xsl11/#fo_table-row

fo:table-row 的定义确实列出了适用于 fo:table-row
 的“通用边框、填充和背景属性”,但那就是紧接着是一条注释,指出仅背景属性适用,如果 
border-collapse
 上的 
fo:table
collapse' or
collapse-with-precedence`,则加上边框属性。没有填充属性的余量。

fo:table-row

 未与 
padding-top
 一起列在 
https://www.w3.org/TR/xsl11/#prapply 的“属性及其适用的 FO”附录部分中

© www.soinside.com 2019 - 2024. All rights reserved.