我正在使用 xml-fo 在 pdf 文档中生成一个表格。
列数是动态的。只有在测试通过时才会显示列。
在测试中,我使用了指向 xml 节点的 $var1、$var2、...等变量。
我有类似的东西
<xsl:element name="fo:table-row">
<xsl:element name="fo:table-cell" use-attribute-sets="table-cell">
<xsl:attribute name="number-columns-spanned"> **???** </xsl:element>
<xsl:element name="fo:block">Text that spans over columns</xsl:element>
</xsl:element>
</xsl:element>
<xsl:element name="fo:table-row" use-attribute-sets="headerRow">
<xsl:element name="fo:table-cell" use-attribute-sets="table-cell">
<xsl:element name="fo:block">some value here</xsl:element>
</xsl:element>
<xsl:if test="$var1">
<xsl:element name="fo:table-cell" use-attribute-sets="table-cell">
<xsl:element name="fo:block">maybe some value here 2</xsl:element>
</xsl:element>
</xsl:if>
<xsl:if test="$var2">
<xsl:element name="fo:table-cell" use-attribute-sets="table-cell">
<xsl:element name="fo:block">maybe some value here 3</xsl:element>
</xsl:element>
</xsl:if>
...
</xsl:element>
我正在扩展第一行以跨越所有列。“number-columns-spanned”是可变的,取决于通过的测试数量。
是否有一种简单的方法可以动态提取传递的条件数量以正确定义属性 number-columns-spanned?