Je génère une table dans un document pdf en utilisant xml-fo.
Le nombre de colonnes est dynamique. Les colonnes sont uniquement affichées lorsque les tests sont en cours.
Dans les tests, j'utilise des variables comme $ var1, $ var2, ... qui pointent vers des nœuds xml.
xml-fo Table pdf: 'colspan' lorsque le nombre de colonnes est dynamique
J'ai quelque chose comme
<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>
J'expansion la 1ère ligne pour couvrir toutes sur les colonnes. "number-columns-spanned" est variable et dépend du nombre de tests qui passent.
Existe-t-il un moyen facile d'extraire dynamiquement le nombre de conditions qui passent afin de définir correctement le nombre d'attribut-colonnes-étendues?