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