xsl-list
[Top] [All Lists]

Re: Generating table rows html from variable selected input.

2005-02-09 09:21:49
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
four items, but I do not see how to select a run of content-less
elements that need to be treated that way.

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


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



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