xsl-list
[Top] [All Lists]

Re: [xsl] determine maximum columns in table

2008-10-07 21:25:31
At 2008-10-08 13:20 +1300, Trevor Nicholls wrote:
 <!-- output maximum number of columns in any child row -->
 <xsl:template name="counttablecols">
  <xsl:for-each select="*/tr">
   <xsl:sort select="count(td)" order="descending" />
   <xsl:if test="position() = 1">
    <xsl:value-of select="count(td)" />
   </xsl:if>
  </xsl:for-each>
 </xsl:template>

I can't see how to modify the sort so that I count 1 for each non-colspanned
td and the appropriate value for each td which does have a colspan
attribute. Is it possible?

Just in the very way you said it:

  count(td[not(@colspan)]) + sum(td/@colspan)

Consider the following:

  <td/>
  <td colspan="3"/>
  <td/>
  <td/>
  <td colspan="2"/>
  <td colspan="3"/>
  <td/>

This is 4 + ( 3 + 2 + 3 ) = 12

I hope this helps.

. . . . . . . . . . Ken

--
Upcoming XSLT/XSL-FO hands-on courses:      Wellington, NZ 2009-01
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video sample lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg
Video course overview:  http://www.youtube.com/watch?v=VTiodiij6gE
G. Ken Holman                 mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


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