Hi Wendell,
Yes, you are absolutely right - I create the tr elements inside the template
that creates the td elements, but I am not so sure exactly what to do with
your example template, though it makes sense to do as you suggest.
Btw...where do you define the max-count param?
This is my recursive template (tr) with the inside recursive template (td):
<xsl:template name="tr">
<xsl:param name="x"/>
<xsl:param name="y"/>
<tr no="{$y}">
<xsl:call-template name="td">
<xsl:with-param name="x" select="//Tabel/@cols"/>
<xsl:with-param name="y" select="0"/>
</xsl:call-template>
</tr>
<xsl:if test="$x > 1">
<xsl:call-template name="tr">
<xsl:with-param name="x" select="$x - 1"/>
<xsl:with-param name="y" select="$y + 1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template name="td">
<xsl:param name="x"/>
<xsl:param name="y"/>
<xsl:element name="td">
<xsl:attribute name="name"><!--this is where I need the values as
specified--></xsl:attribute>
</xsl:element>
<xsl:if test="$x > 1">
<xsl:call-template name="td">
<xsl:with-param name="x" select="$x - 1"/>
<xsl:with-param name="y" select="$y + 1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
Hope you can help me a bit more...Thanks in advance.
Kenny
Hi Kenny,
Presumably the recursive template that creates the three td elements is
inside the template that creates the tr elements. (I don't know how else
you'd do it. ;-)
If so, each time the "inner" template is called (by an iteration of the
"outer" template), you can pass a parameter through to carry the count of
the outer iteration.
Does that make sense?
<xsl:template name="outer">
<xsl:param name="count" select="0"/>
....
<xsl:call-template name="inner">
<xsl:with-param name="outer-count" select="$count"/>
</xsl:call-template>
<xsl:if test="$count < $max-count)">
<xsl:call-template name="outer">
<xsl:with-param name="count" select="$count + 1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
I hope I understood the question....
Cheers,
Wendell
At 02:50 PM 7/16/2004, you wrote:
I have already posted a question on how to generate dynamic attribute values
within a recursive template, but I have to admit that I got a bit confused
when reading my own posting, so I retry with a simplified version of my
problem.
A recursive template is generating N=4 <tr> and another inline recursive
template is generating n=3 <td> and so far I have no problems. But when it
comes to the attribute values of <td name="?"/> I really do not know what to
do since the @name of <td> is generated on the fly and after all <tr> are
generated. As shown in the result tree below the @name of <td> always
follows the @no of <tr>.
So my simple question is how to generate @name values on the fly?
This is the result tree I need:
<tr no="0">
<td name="0"/>
<td name="0"/>
<td name="0"/>
</tr>
<tr no="1">
<td name="1"/>
<td name="1"/>
<td name="1"/>
</tr>
<tr no="2">
<td name="2"/>
<td name="2"/>
<td name="2"/>
</tr>
<tr no="3">
<td name="3"/>
<td name="3"/>
<td name="3"/>
</tr>
Thanks,
Kenny Bogoe
--+------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
--+------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--