Re: [xsl] xsl table

Subject: Re: [xsl] xsl table
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 13 Jun 2007 18:54:51 +0300
At 2007-06-13 09:38 +0200, Andreas Peter wrote:
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}">
 <xsl:apply-templates select="tr" />

<xsl:template match="tr">
 <xsl:param name="pos_tr" select="position()" />

The above line can be removed.

 <xsl:apply-templates select="td" />

Change the above to:

  <xsl:apply-templates select="td">
     <xsl:with-param name="pos_tr" select="position()"/>


<xsl:template match="td">


<xsl:param name="pos_t4"/>

<xsl:param name="pos_td" select="position()" />

That can be <xsl:variable/>

<fo:table-cell column-number="1" width="{$table.colwidth1}">

Is $table.colwidth1 a global?

<fo:block><xsl:value-of select="//tr[$pos_tr]/td[$pos_td]"/>

That seems strange to me ... not sure why you are selecting from the very top of the document ... and it would seem that just select="." would obtain the same construct. And if you have more than one table, the values will always be selected from the first table.

I've answered you how you can use variables, but I'm not sure why you are using variables.


I want to use a variable for the <tr>-position as well as for the

Can you explain why you think this is necessary?

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..."

The scope of a variable is only the following siblings and their descendants. At the point where you made reference to $pos_tr there were no ancestors with a preceding sibling declaration of the variable. I've added that with the parameter.

I hope this helps.

. . . . . . . . . . . . . Ken

Upcoming hands-on training(Europe 2007): XSL-FO Jun 11; UBL Oct 01
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds:     publicly-available developer resources and training
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Cancer Awareness Aug'05
Legal business disclaimers:

Current Thread