[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] CSV file from an XML source file using XSLT


Subject: RE: [xsl] CSV file from an XML source file using XSLT
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Sun, 17 Aug 2003 16:12:47 -0400

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: &#8217;</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: &#8217;</myns:input>

<xsl:template match="/">
  <xsl:value-of select="translate(document('')/*/myns:input,
                                  '&#8217;',&#34;'&#34;)"/>
</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




Current Thread
Keywords