Subject: RE: [xsl] Transforming XML to CSV From: "Andrew Welch" <awelch@xxxxxxxxxxxxxxx> Date: Tue, 15 Oct 2002 13:56:16 +0100 |
Ryan, If you work through it logically - you want each column value encosed in quotes: <xsl:template match="column"> <xsl:text/>"<xsl:apply-templates/>"<xsl:text/> </xsl:template> You also want to output a comma if there is another column after the one you are on: <xsl:template match="column"> <xsl:text/>"<xsl:apply-templates/>"<xsl:text/> <xsl:if test="following-sibling::column">,</xsl:if> </xsl:template> After each row you want a carriage return: <xsl:template match="row"> <xsl:apply-templates/> <xsl:text>
</xsl:text> </xsl:template> Don't forget of course, that you are outputting text and not xml (the default) <xsl:output method="text"/> And that you dont want any presentational whitespace (or should that be FWS ;) messing up your nice output: <xsl:strip-space elements="*"/> I know that was kind of in reverse order, so to put it all the right way around: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:strip-space elements="*"/> <xsl:output method="text"/> <xsl:template match="row"> <xsl:apply-templates/> <xsl:text>
</xsl:text> </xsl:template> <xsl:template match="column"> <xsl:text/>"<xsl:apply-templates/>"<xsl:text/> <xsl:if test="following-sibling::column">,</xsl:if> </xsl:template> </xsl:stylesheet> good luck cheers andrew > -----Original Message----- > From: Ryan.Asleson@xxxxxxxxxx [mailto:Ryan.Asleson@xxxxxxxxxx] > Sent: 15 October 2002 13:31 > To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Transforming XML to CSV > > > > Hello, > > I wish to transform XML which looks like this: > > <row> > <column>Value 1</column> > <column>Value 2</column> > <column>Value 3</column> > </row> > <row> > <column>Value 4</column> > <column>Value 5</column> > <column>Value 6</column> > </row> > > > Into a comma separated values (CSV) format looking like this: > > "Value 1","Value 2", "Value 3" > "Value 4","Value 5", "Value 6" > > so it can be read in a spreadsheet program. What XSL will do > this? I'm > having trouble because the result is not a hierarchical result. > > Thanks!! > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > > > --- > Incoming mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.401 / Virus Database: 226 - Release Date: 09/10/2002 > > --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.401 / Virus Database: 226 - Release Date: 09/10/2002 XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Transforming XML to CSV, Jarno . Elovirta | Thread | RE: [xsl] Transforming XML to CSV, KIENLE, STEVEN C [IT |
RE: [xsl] Transforming XML to CSV, Jarno . Elovirta | Date | RE: [xsl] Transforming XML to CSV, KIENLE, STEVEN C [IT |
Month |