xsl-list
[Top] [All Lists]

Re: Having same number of rows in table irrespective of number of data rows

2005-04-12 00:32:42
On Tue, Apr 12, 2005 at 07:58:14AM +0100, Steve W wrote:
I want to create a table that has a set number of rows in it.  The XML has
data in it to be shown in the table - in simple terms one element of the XML
for each row of the table.  The XML will only have an element if there is
data,  so if I have 3 data elements but I want 5 rows in the table there
will be 2 'missing' rows and I want to output these 2 rows with some set
html in it.

My template looks like this :

<table cellpadding="0" cellspacing="0" border="0" width="100%">
    <xsl:for-each select="INITIALVALUES/INITIALVALUE">
        <tr>
            <td>
                <!-- some html ....  -->
                </td>
            </tr>
    </xsl:for-each>
    <!-- add 'blank' rows to give constant number of rows in table -->
</table>

not the easiest of tasks... 
You probably want to make a recursive 'xsl:call-template' passing a
parameter specifying how many additional rows to create.
might try this...

... inside yer <table>...
<xsl:call-template name="blank-rows">
        <xsl:with-param name="count" select="5 - 
count(INITIALVALUES/INITIALVALUE)"/>
</xsl:call-template>


<xsl:template name="blank-rows">
        <xsl:param name="count"/>
        <!-- blank row stuff here -->
        <xsl:if test="$count &gt; 0">
                <xsl:call-template name="blank-rows">
                        <xsl:with-param name="count" select="$count - 1"/>
                </xsl:call-template>
        </xsl:if>
</xsl:template>

xslt is great at transforming data... not quite so convenient (at least 1.0,
not sure about 2.0) when yer not transforming data.. :-)


Thanks

Steve


--~------------------------------------------------------------------
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>
--~--

--~------------------------------------------------------------------
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>
--~--



<Prev in Thread] Current Thread [Next in Thread>