[xsl] xsl table

Subject: [xsl] xsl table
From: Andreas Peter <info@xxxxxxxxxx>
Date: Wed, 13 Jun 2007 09:38:15 +0200
Hello together,

I managed my problem I posted a few days ago about table creation
using xml/xsl(fo). But now, there is a "new" one :-(

This is my xml file:

<table>
<tr><td>Di</td><td>12.06.07</td><td>15:00 - 16:30 Uhr</td><td>Kurs-Nr.:</td>
<td>1</td></tr>

<tr><td></td><td></td><td></td><td>Beitrag</td><td>4 Euro</td></tr>

<tr><td>Do</td><td>14.06.07</td><td>15:00 - 16:30 Uhr</td><td>Kurs-Nr.: </td>
<td>5</td></tr>

<tr><td>Fr</td><td>15.06.07</td><td>15:00 - 16:30 Uhr</td><td>Kurs-Nr.: </td>
<td>5</td></tr>

</table>

And this is my xsl file:

<xsl:template match="table">
 <fo:block xsl:use-attribute-sets="kursinfo">
 <fo:table table-layout="{$table.layout}" width="{$table.width}">
 <fo:table-body>
 <xsl:apply-templates select="tr" />
 </fo:table-body>
 </fo:table>
 </fo:block>
</xsl:template>

<xsl:template match="tr">
 <xsl:param name="pos_tr" select="position()" />
 <fo:table-row>
 <xsl:apply-templates select="td" />
 </fo:table-row>
</xsl:template>

<xsl:template match="td">
 <xsl:param name="pos_td" select="position()" />
 <fo:table-cell column-number="1" width="{$table.colwidth1}">
 <fo:block><xsl:value-of select="//tr[$pos_tr]/td[$pos_td]"/>
 </fo:block></fo:table-cell>
</xsl:template>

I want to use a variable for the <tr>-position as well as for the
<td>-position. How can I manage it to use the variable from <tr> when
I match <td>? If I want to parse the document an error occurs saying
"variable with name pos_tr could not be founded..."

Thanks a lot,
Andreas

Current Thread