|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Generating table rows html from variable selected
Hi David,
At 10:37 PM 2/8/2005, you wrote: I understand how to select the elements with not(text()) and to use an Xpath expression to make a new row every This is a pattern I've been using myself lately, to generate labels (effectively, same problem): <xsl:template name="rowsof4">
<xsl:param name="nodes" select="/self::*"/>
<!-- the default is a fancy way of saying 'no nodes'
(by asking for the root node that is an element) -->
<xsl:for-each select="$nodes">
<xsl:variable name="node-position" select="position()"/>
<xsl:if test="$node-position mod 4 = 1">
<tr>
<xsl:apply-templates mode="cell"
select=". | $nodes[$node-position + 1]
| $nodes[$node-position + 2]
| $nodes[$node-position + 3]"/>
</tr>
</xsl:for-each>
</xsl:template>then... <xsl:call-template name="rowsof4"> <xsl:with-param name="nodes" select="$the-elements-you-want-in-your-rows]"/> </xsl:call-template> ... leaving the rest (e.g. the "cell" mode) for you to fill in. If you wanted to parameterize the rows template so it could build a row of any number of cells (passed in as another parameter) -- that could be done. Note that this doesn't fill in "empty" cells when your set falls short (not necessary for my labels app) ... that could be added too. I hope this helps! Cheers, Wendell
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








