Subject: RE: [xsl] CSV file from an XML source file using XSLT From: "Matt Trimmer" <matt.trimmer@xxxxxxxxxxxxxx> Date: Wed, 20 Aug 2003 13:41:25 +0100 |
Hi, So this is interesting. Obviously the pound sign wasn't the problem at al. The XML source comes from MS Access. It would seem that Access uses a 2019 (a right single quotation) and not an real apostrophe (0027). So although I do have control over the input, I can't seem to change it. It's strange I transformed this data into various XML formats (encoded to ISO) but they do not give me a problem. However I did use the cdata elements command which I guess avoided the issue? I am trying to understand your translate function. My XSL is quite simple (sample below), the only challenge is that the Description field in the source XML has these 2019s in it. I would be grateful of any further help anyone can give. <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output encoding="ISO-8859-1" method="text" indent="no" /> <xsl:template match="dataroot"> "Term","Term2","Description" <xsl:for-each select="XMLFeed"> "<xsl:value-of select="Term"/>","<xsl:value-of select="Term2"/>","<xsl:value-of select="Description"/>",</xsl:for-each> </xsl:template> </xsl:stylesheet> > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > Matt Trimmer > Sent: 17 August 2003 21:44 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: RE: [xsl] CSV file from an XML source file using XSLT > > > > Thank you very much! > > > > > > > > > > -----Original Message----- > > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > > G. Ken Holman > > Sent: 17 August 2003 21:13 > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > Subject: RE: [xsl] CSV file from an XML source file using XSLT > > > > > > At 2003-08-17 18:54 +0100, Matt Trimmer wrote: > > >Thanks for this, but this is what I am doing and I get: > > > > > >Output character not available in this encoding (decimal 8217). > > > > > >Transformation failed. > > > > Yes, of course it would ... that character is: > > > > 2019;RIGHT SINGLE QUOTATION MARK;Pf;0;ON;;;;;N;SINGLE COMMA > > QUOTATION MARK;;;; > > > > ... and that isn't a text character in any character set > > other than Unicode. > > > > At 2003-08-16 00:11 +0100, Matt Trimmer wrote: > > >I need to make the CSV file ISO as opposed UTF > > >otherwise common viewers such as excel will not read the > > information in > > >the CSV file properly. > > > > Then you can't use the right single quotation mark, because > > that isn't an > > ISO character ... the error message is precise and > > unambiguous: you are > > asking to output a character that is not available in your > > desired encoding. > > > > Perhaps you could use a single quote in its place. If you > don't have > > control over your input, you might consider the translate() > > function as I > > have in the example below, where I first replicate your > > problem (you didn't > > give us any sample code to work with) and then suggest the > > use of the function. > > > > I hope this helps. > > > > ............ Ken > > > > > > T:\ftemp>type trimmer.xsl > > <?xml version="1.0" encoding="iso-8859-1"?> > > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > > xmlns:myns="dummy" > > version="1.0"> > > > > <xsl:output method="text" encoding="iso-8859-1"/> > > > > <myns:input> Here is a single comma quotation mark: > > ’</myns:input> > > > > <xsl:template match="/"> > > <xsl:value-of select="document('')/*/myns:input"/> > > </xsl:template> > > > > </xsl:stylesheet> > > > > T:\ftemp>saxon trimmer.xsl trimmer.xsl > > Error at xsl:value-of on line 11 of file:/T:/ftemp/trimmer.xsl: > > Output character not available in this encoding (decimal > > 8217) Transformation failed: Run-time errors were reported > > > > T:\ftemp>type trimmer2.xsl > > <?xml version="1.0" encoding="iso-8859-1"?> > > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > > xmlns:myns="dummy" > > version="1.0"> > > > > <xsl:output method="text" encoding="iso-8859-1"/> > > > > <myns:input> Here is a single comma quotation mark: > > ’</myns:input> > > > > <xsl:template match="/"> > > <xsl:value-of select="translate(document('')/*/myns:input, > > '’',"'")"/> > > </xsl:template> > > > > </xsl:stylesheet> > > > > T:\ftemp>saxon trimmer2.xsl trimmer2.xsl > > Here is a single comma quotation mark: ' > > T:\ftemp>rem Done! > > > > T:\ftemp> > > > > > > -- > > Instructor-led on-site corporate, government & user group > > training for XSLT and XSL-FO world-wide; please contact us > > for the details; Next public European delivery: 3-day > > XSLT/2-day XSL-FO 2003-09-22 > > > > G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx > > Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ > > Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995) > > ISBN 0-13-065196-6 Definitive XSLT and XPath > > ISBN 0-13-140374-5 Definitive XSL-FO > > ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath > > ISBN 1-894049-11-X Practical Formatting Using XSL-FO > > Member of the XML Guild of Practitioners: http://XMLGuild.info > > Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc > > > > > > 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] CSV file from an XML sour, Matt Trimmer | Thread | RE: [xsl] CSV file from an XML sour, G. Ken Holman |
RE: [xsl] algorithm for alternation, Jarno . Elovirta | Date | [xsl] setXSLT function!, michel geadah |
Month |