Я создаю таблицу в pdf-документе с помощью xml-fo.
Количество столбцов является динамическим. Столбцы отображаются только при прохождении тестов.
В тестах я использую такие переменные, как $var1, $var2, ..., которые указывают на узлы xml.
у меня что-то вроде
<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>
Я расширяю 1-ю строку, чтобы охватить все столбцы. "number-columns-spanned" является переменной величиной и зависит от количества пройденных тестов.
Существует ли простой способ динамического извлечения количества условий, которые выполняются, чтобы правильно определить атрибут number-columns-spanned?