Subject: RE: [xsl] xsl:number problem From: "Yan, Charlene" <Charlene.Yan@xxxxxxxxxxxxxxxxxxx> Date: Wed, 18 Jun 2003 12:58:45 -0400 |
Based on my xml, how can I do a count of all productId in the solution tree? -----Original Message----- From: Yan, Charlene Sent: Wednesday, June 18, 2003 10:57 AM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] xsl:number problem All, Here is a complete example of what I want to do. 1. My xml looks like this: <solution> <product> <productID>1</productId> </product> <product> <productID>2</productId> </product> <program> <product> <productID>3</productId> </product> <product> <productID>4</productId> </product> </program> <product> <productID>5</productId> </product> </solution> 2. My xsl looks like this: <?xml version="1.0"?> <!-- CVS $Id: page2xls.xsl,v 1.2 2003/05/07 04:57:13 vgritsenko Exp $ --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sql="http://apache.org/cocoon/SQL/2.0" xmlns:gmr="http://www.gnome.org/gnumeric/v7" > <xsl:param name="view-source"/> <xsl:template match="solution"> <gmr:Workbook xmlns:gmr="http://www.gnome.org/gnumeric/v7"> <gmr:Sheets> <gmr:Sheet DisplayFormulas="false" HideZero="false" HideGrid="false" HideColHeader="false" HideRowHeader="false" DisplayOutlines="true" OutlineSymbolsBelow="true" OutlineSymbolsRight="true"> <gmr:Name><xsl:value-of select="name"/></gmr:Name> <gmr:MaxCol>17</gmr:MaxCol> <gmr:Styles> <gmr:StyleRegion startRow="0" endRow="0" startCol="0" endCol="5"> <gmr:Style HAlign="1" VAlign="4" WrapText="0" Orient="1" Shade="2" Indent="0" Locked="1" Hidden="0" Fore="0:0:0" Back="C0C0:C0C0:C0C0" PatternColor="C0C0:C0C0:C0C0" Format="General"> <gmr:StyleBorder> <gmr:Top Style="5"/> <gmr:Bottom Style="0"/> <gmr:Left Style="0"/> <gmr:Right Style="0"/> <gmr:Diagonal Style="0"/> <gmr:Rev-Diagonal Style="0"/> </gmr:StyleBorder> </gmr:Style> </gmr:StyleRegion> <gmr:StyleRegion startRow="26" endRow="26" startCol="17" endCol="17"> <gmr:Style HAlign="8" VAlign="2" WrapText="0" Orient="1" Shade="1" Indent="0" Locked="1" Hidden="0" Fore="0:0:0" Back="FFFF:FFFF:FFFF" PatternColor="FFFF:FFFF:FFFF" Format="General"> <gmr:Font Unit="10" Bold="1" Italic="0" Underline="0" StrikeThrough="0">Times New Roman</gmr:Font> <gmr:StyleBorder> <gmr:Top Style="1"/> <gmr:Bottom Style="1"/> <gmr:Left Style="0"/> <gmr:Right Style="5"/> <gmr:Diagonal Style="0"/> <gmr:Rev-Diagonal Style="0"/> </gmr:StyleBorder> </gmr:Style> </gmr:StyleRegion> </gmr:Styles> <gmr:Cols> <gmr:ColInfo No="0" Unit="52"/> <gmr:ColInfo No="1" Unit="42"/> </gmr:Cols> <gmr:Rows> <gmr:RowInfo No="0" Unit="13.5"/> <gmr:RowInfo No="1" Unit="13.5"/> </gmr:Rows> <gmr:Cells> <gmr:Cell Col="16" Row="26" ValueType="60"> Price </gmr:Cell> <xsl:apply-templates/> </gmr:Cells> </gmr:Sheet> </gmr:Sheets> </gmr:Workbook> </xsl:template> <xsl:template match="content"> <xsl:apply-templates/> </xsl:template> <xsl:template match="productId"> <gmr:Cell Col="1" Row="27" ValueType="60"> <xsl:variable name="rownumber"><xsl:number level="any" count="productId"/></xsl:variable> <xsl:attribute name="Row"> <xsl:value-of select="position() + $rownumber + 2"/> </xsl:attribute> <gmr:Content> <xsl:apply-templates/> </gmr:Content> </gmr:Cell> <xsl:variable name="rownumber"><xsl:number level="any" count="productId"/></xsl:variable> <gmr:Cell Col="0" Row="27" ValueType="60"> <xsl:attribute name="Row"> <xsl:value-of select="27 + $rownumber + 2"/> </xsl:attribute> Comments </gmr:Cell> <gmr:Cell Col="3" Row="31" ValueType="60"> <xsl:attribute name="Row"> <xsl:value-of select="position() + $rownumber + 5"/> </xsl:attribute> IF XTREME INSTALLATION IS REQUIRED, CHECK THE REQUIRED, SHADED, FORMAT BOX ABOVE </gmr:Cell> </xsl:template> </xsl:stylesheet> 3. The output from the above is like this: 1 2 3 4 IF XTREME INSTALLATION IS REQUIRED, CHECK THE REQUIRED, SHADED, FORMAT BOX ABOVE 5 IF XTREME INSTALLATION IS REQUIRED, CHECK THE REQUIRED, SHADED, FORMAT BOX ABOVE Comments IF XTREME INSTALLATION IS REQUIRED, CHECK THE REQUIRED, SHADED, FORMAT BOX ABOVE Comments IF XTREME INSTALLATION IS REQUIRED, CHECK THE REQUIRED, SHADED, FORMAT BOX ABOVE Comments IF XTREME INSTALLATION IS REQUIRED, CHECK THE REQUIRED, SHADED, FORMAT BOX ABOVE 4. The output I am trying to have is like this: 1 2 3 4 5 Comments IF XTREME INSTALLATION IS REQUIRED, CHECK THE REQUIRED, SHADED, FORMAT BOX ABOVE Basically I have to know the total number of productIds in the solution. I need to use the last number to position the cells following that. THANKS!!! Charlene -----Original Message----- From: David Carlisle [mailto:davidc@xxxxxxxxx] Sent: Wednesday, June 18, 2003 10:02 AM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] xsl:number problem > I hope you can shed some light on what I did wrong. Please let me know > if I haven't made myself clearer. your messages are not clear at all. You are showing fragments of code like this <xsl:attribute name="Row"> which would generate an attribute, then claiming that the output is The output is : 1 2 3 4 which is just text with no markup so it presumably isn't the output from the stylesheet that you showed. As your XSl code is not doing what you want, it would be more helpful not to show it as it just confuses the issue. Just give a small well formed XML example input and a small well formed example XML desired output and describe what teh relation shoulkd be then someone might have a chnance to help you. David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star Internet. 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 XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] xsl:number problem, David Carlisle | Thread | Re: [xsl] xsl:number problem, David Carlisle |
[xsl] xsl:number problem, Yan, Charlene | Date | Re: [xsl] xsl:number problem, Mike Brown |
Month |