|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: using node fragments
[ Woody [mailto:woody@xxxxxxxxxxxxxx] ] > > I have this section of an xml file that needs to be rendered > to a table > > <TGROUP> > <COLSPEC COLNUM="1" COLNAME="1" COLWIDTH="0.713in"/> > <COLSPEC COLNUM="2" COLNAME="2" COLWIDTH="1.179in"/> > <COLSPEC COLNUM="3" COLNAME="3" COLWIDTH="1.272in"/> > <COLSPEC COLNUM="4" COLNAME="4" COLWIDTH="3.283in"/> > <THEAD> > <ROW> > <ENTRY COLNAME="1">Item</ENTRY> > <ENTRY COLNAME="2">Control</ENTRY> > <ENTRY COLNAME="3">Selection</ENTRY> > <ENTRY COLNAME="4">Function</ENTRY> > </ROW> > </THEAD> > ... lots of rows follow here > > Problem here is that I need to change the COLWIDTH into > percentages to > render out to the table. > Other replies to your question have pointed out that you need to either use a node-set() extension or do the transform in two passes. However, if you could influence the source xml to get rid of the "in" after the value of the COLWIDTH, then you could avoid both node-set() and two passes. If there is still some need for specifying "in", it could be done by using another attribute instead. Here is a sketch of how the stylesheet could work. I have omitted sorting the columns and other refinements but you can add them if necessary. <xsl:template match="/root"> <html> .... Other html stuff here ... <table> <xsl:call-template name='do-head'/> ... invoke template for row data here ... </table> </html> </xsl:template> <xsl:template name='do-head'> <xsl:variable name='cols' select='TGROUP/COLSPEC'/> <xsl:variable name='total-width' select='sum($cols/@COLWIDTH)'/> <tr> <xsl:for-each select='$cols'> <xsl:variable name='width' select='100*@COLWIDTH div $total-width'/> <th width='{$width}%'><xsl:value-of select='@COLNAME'/></th> </xsl:for-each> </tr> </xsl:template> Cheers, Tom P XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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
|

Cart








