Re: [xsl] Getting a <TableRow> where <Cell> doesn't contain a colspan attribute

Subject: Re: [xsl] Getting a <TableRow> where <Cell> doesn't contain a colspan attribute
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 25 Jun 2009 18:01:50 +0100
ypu haven't really said what test you want (or why you need a test since
the for-each you have inside the test doesn't use the ColSpan attribute?

 <xsl:when test="not(descendant::TableRow/Cell/@ColSpan)


is true if there are no ColSpan attributes


 <xsl:when test="descendant::TableRow/Cell[not(@ColSpan)]

is true if there are Cell elements without a ColSpan attribute

  <xsl:for-each select="descendant::TableRow/Cell">
                         <col/>
                     </xsl:for-each>

That's going to give you a <col/> for every cell in the table, is that
really what you want?


perhaps you want to find if there is a row in which ever cell does not
span, and if so make a col/> for each element in the first such row.. in which case

 <xsl:for-each select="descendant::TableRow[not(Cell/@ColSpan)][1]/Cell">
                         <col/>
                     </xsl:for-each>

Best not to use descendant:: as its inefficient 9and wrong if there are
nested tables) I think probably it's


 <xsl:for-each select="*/TableRow[not(Cell/@ColSpan)][1]/Cell">
                         <col/>
   </xsl:for-each>


where * will match TableHeader TableFooter or TableBody

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

Current Thread