xsl-list
[Top] [All Lists]

RE: CSV file from an XML source file using XSLT

2003-08-17 13:43:52

Thank you very much!
 



  



-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
G. Ken Holman
Sent: 17 August 2003 21:13
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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: 
&#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(_at_)CraneSoftwrights(_dot_)com
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