Hi,
I realised i am repeating this code in my .xsl:
------------------------------------------
<fo:table-cell border="solid black 1 px"
border-collapse="collapse">
<fo:block>
<xsl:choose>
<!--Here we put nothing if nodevalue=null -->
<xsl:when test='($node="null")'></xsl:when>
<!--or the value-->
<xsl:otherwise><xsl:value-of select="$node"/></xsl:otherwise>
</xsl:choose>
</fo:block>
</fo:table-cell>
------------------------------------
Now i want to use a for each, how do i do that?
BTW:
My .xml
--------------------------------------------------------
<Root>
<Table>
<Row>
<nodeA>Total</nodeA>
<node1>null</node1>
<node2>777</node2>
etc
Recursion
<xsl:template match="Row">
<fo:table-row>
<fo:table-cell border="solid black 1 px" border-collapse="collapse">
<fo:block>
<xsl:value-of select="nodeA"/>
</fo:block>
</fo:table-cell>
<xsl:call-template name="cell"/>
</fo:table-row>
</xsl:template>
<xsl:template name="cell">
<xsl:param name="counter" select="1"/>
<xsl:param name="max" select="12"/>
<fo:table-cell border="solid black 1 px" border-collapse="collapse">
<fo:block>
<xsl:variable name="cell" select="*[name() = concat('node',
$counter)]"/>
<xsl:choose>
<xsl:when test="not($cell = 'null')">
<xsl:value-of select="$cell"/>
</xsl:when>
</xsl:choose>
</fo:block>
</fo:table-cell>
<xsl:if test="$counter < $max">
<xsl:call-template name="cell">
<xsl:with-param name="counter" select="$counter + 1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
Cheers,
Jarno - Haujobb: Depths
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list