xsl-list
[Top] [All Lists]

Re: [xsl] Transforming Tables - repost

2006-05-16 14:15:11


 I did try your suggestion of using the no of 
total columns and testing it with respect to the current position

But not the expression that I suggetsed to calculate that?
Also avoid using  disable-output-escaping (using it with ='no' is
harmless as it does nothing, but it might tempt you into using it with
='yes':-)

however, what if there are information in the spanning cell, like for 
example the rules, like <cell col='1' rowspan='2' rulebottom='1'> so 

just apply templates to the relevant attributes and then have a template
that writes out the necessary stuff, something like this perhaps where I
just added the indented lines


<xsl:template match="row">
<xsl:text>
&lt;rStart:&gt;</xsl:text>
<xsl:variable name="here" select="."/>
<xsl:for-each select="1 to ../@col">
<xsl:variable name="cell" select="$here/cell[(_at_)col=current()]"/>
<xsl:text>
&lt;cStart:</xsl:text>
<xsl:value-of select="max(($cell/@rowspan,1))"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="max(($cell/@colspan,1))"/>
    <xsl:apply-templates
     
select="($cell|$here/preceding-sibling::row/cell[(_at_)col=current()])[last()]/
      (@* except (@rowspan,@colspan))"/>
<xsl:text>&gt;</xsl:text>
<xsl:apply-templates select="$cell/node()"/>
<xsl:text>&lt;cEnd:&gt;</xsl:text>
</xsl:for-each>
<xsl:text>
&lt;rEnd:&gt;</xsl:text>
</xsl:template>

   <xsl:template match="cell/@*">
   <xsl:value-of separator="" select="';',name(),':',."/>
   </xsl:template>

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

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