[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] Problem writing xsl to convert xml to excel
Subject: Re: [xsl] Problem writing xsl to convert xml to excel From: Anna Bikkina <anna@xxxxxxxxxxxxxx> Date: Fri, 5 Mar 2004 17:06:38 -0500 |
Thanks to everyone who answered and sorry for the vague question . I got it working with the below xsl, but there is one problem. The columns get printed from column1 instead of column0. Can someone tell me how I can print right from column0. I tried to change to do so but it didnt work. My input xml looks like this <result> <column>time</column><column>time1</column> <row><time>1</time><time1>3</time1></row> <row><time>001</time><time1>300</time1></row> </result> A snippet from my xsl. <xsl:template match="result"> <xsl:for-each select="column"> <gmr:Cell Row="0" ValueType="60"> <xsl:variable name="colnumber"><xsl:number level="single" from="column" count="column"/></xsl:variable> <xsl:attribute name="Col"> <xsl:value-of select="$colnumber"/> </xsl:attribute> <gmr:Content> <xsl:apply-templates select="." mode="value"/> </gmr:Content> </gmr:Cell> </xsl:for-each> <xsl:for-each select="row"> <xsl:apply-templates select="."> <xsl:with-param name="rownumber" select="position()"/> </xsl:apply-templates> </xsl:for-each> </xsl:template> <xsl:template match="row"> <xsl:param name="rownumber" select="1"/> <xsl:for-each select="*"> <xsl:apply-templates select="."> <xsl:with-param name="rownumber" select="$rownumber"/> <xsl:with-param name="colnumber" select="position()"/> </xsl:apply-templates> </xsl:for-each> </xsl:template> On Friday 05 March 2004 12:48 pm, Wendell Piez wrote: > Anna, > > It's a bit hard to answer your question since we are having to guess what > you want your output to look like. (No we don't all use Excel every day. > :-) > > In general, however, I can say you don't need or want to use a counter. (In > XSLT you almost never do.) Accordingly, a simple and clean stylesheet to do > what you want will look quite different from what you have so far. > > If you post again with a sample of the output you want, it'll be easier for > someone to give you more concrete help. > > Cheers, > Wendell > > At 11:30 AM 3/5/2004, you wrote: > >Can someone please answer my question below I am stuck. > > > >On Thursday 04 March 2004 03:41 pm, Anna Bikkina wrote: > > > Hi, > > > > > > I have a xml file that has to converted to excel. I am trying to use a > > > xsl s stylesheet and cocoon to do this job for me. > > > > > > Below is my xml. I am able to display the column's correctly in excel > > > but when it comes to data . I am not able to have <Time> data in > > > column1, <Action> data in column. I am not able to increment the column > > > value from 0 to 5. The problem is the number of columns I will have is > > > not known prior . So I have to use the count() function to get this > > > done. The way it is printing row data right now is in column 5 it > > > prints the value of <user1> thats it. Please check the xsl below and > > > let me know where I am making a mistake. > > > > > > > > > <xsl:template match="result"> > > > <xsl:for-each select="column"> > > > <gmr:Cell Row="0" ValueType="60"> > > > <xsl:variable name="colnumber"><xsl:number > > > level="any" from="result" count="column"/></xsl:variable> > > > <xsl:attribute name="Col"> > > > <xsl:value-of select="$colnumber"/> > > > </xsl:attribute> > > > <gmr:Content> > > > <xsl:apply-templates select="." > > > > mode="value"/> > > > > > </gmr:Content> > > > </gmr:Cell> > > > </xsl:for-each> > > > > > > <xsl:for-each select="row"> > > > <xsl:variable name="rownumber"><xsl:number level="any" > > > from="result" count="row"/></xsl:variable> > > > <xsl:variable name="cnumber"><xsl:number level="any" > > > > from="result" > > > > > count="column"/></xsl:variable> > > > <xsl:for-each select="*"> > > > > > > <gmr:Cell ValueType="60"> > > > <xsl:attribute name="Row"> > > > <xsl:value-of select="$rownumber"/> > > > </xsl:attribute> > > > <xsl:attribute name="Col"> > > > <xsl:value-of > > > > select="$cnumber"/> <!-- cnumber is not working > > > > > properly. How can I get this working--> > > > </xsl:attribute> > > > <gmr:Content> > > > <xsl:apply-templates > > > > select="." mode="value"/> > > > > > </gmr:Content> > > > </gmr:Cell> > > > </xsl:for-each> > > > </xsl:for-each> > > > > > > </xsl:template> > > > > > > > > > My XML FILE > > > > > > > > > <?xml version="1.0"?> > > > <page> > > > <title>Hello</title> > > > <content> > > > <result> > > > > > > <column>Time</column> > > > > <column>Action</column> > > > > <column>Price</column> > > > > > > > > <column>User</column> > > > > <column>User1</br></column> > > > > > <row> > > > <Time>1</Time> > > > > <Action>120000</Action> > > > > > <Price>13</Price> > > > > > > <Name>12000</Name> <Name1>120000</Name1> </row> > > > > > > </result> > > > </content> > > > </page> > > > > > > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > ====================================================================== > Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx > Mulberry Technologies, Inc. http://www.mulberrytech.com > 17 West Jefferson Street Direct Phone: 301/315-9635 > Suite 207 Phone: 301/315-9631 > Rockville, MD 20850 Fax: 301/315-8285 > ---------------------------------------------------------------------- > Mulberry Technologies: A Consultancy Specializing in SGML and XML > ====================================================================== > > > 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] Problem writing xsl to co, Wendell Piez | Thread | Re: [xsl] Problem writing xsl to co, J.Pietschmann |
RE: [xsl] Output of a FLowchart fro, cknell | Date | Re: [xsl] Problem writing xsl to co, J.Pietschmann |
Month |