RE: [xsl] declare the charset by an output element not the xml declaration?

Subject: RE: [xsl] declare the charset by an output element not the xml declaration?
From: "Josh Canfield" <Josh.Canfield@xxxxxxxxxxxx>
Date: Wed, 16 Jun 2004 10:33:42 -0700
The short answer is: No.

The long answer:
As far as I know, your XSL processor is going to output UTF-8 unless you tell it otherwise. You do this through an output element, or by configuring the transformer. It may be possible with some command line transformers to pass in the output encoding that you want, I don't generally do command line transformations though...

When you place the encoding in the xml declaration you are telling the parser how that document is encoded, and thus how to interpret the bytes as it reads them from the file (or other source). Once the document has been parsed its generally going to end up as UTF-16 (at least in the java world). This is the same in any xml file, which includes xsl and xhtml files. The output element in XSL is used to determine how the bytes of the output document are going to be serialized to the disk (or other destination)

The meta tag in html serves the same purpose as the encoding attribute in the xml processing instruction, which is to tell the browser how the bytes of that file are to be interpreted.

Josh

-----Original Message-----
From: Markus Hanel [mailto:markus.hanel@xxxxxx]
Sent: Wednesday, June 16, 2004 1:12 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] declare the charset by an output element not the xml
declaration?


Hallo,
the encoding is placed in two files:
1. the xml file: 
2. the xsl stylesheet

Is it possible to place the encoding in the xml declaration of the xml file
to "ISO-8859-1", set no encoding in the xml declaration of the the xsl
stylesheet and create the html output with a meta tag with charset
"ISO-8859-1"?
markus

> You are creating an output element in your html, which html is not going
> to understand. You need to use a meta tag, as previously mentioned.
> 
> The other problem is that by default your output is going to be in UTF-8,
> unless you have set the serializer to output something different. For
> example, in Java you can use the Transformer.setOutputProperty() method to
> override the encoding in the stylesheet.
> 
> Josh
> 
> -----Original Message-----
> From: Markus Hanel [mailto:markus.hanel@xxxxxx]
> Sent: Tuesday, June 15, 2004 7:40 AM
> To: xsl mailinglist
> Subject: [xsl] declare the charset by an output element not the xml
> declaration?
> 
> 
> Hallo,
> we want to hold the charset of the stylesheet flexibel. Is it well formed
> to
> give no encoding in the xml declaration but in the output element?
> 
> Many thanks,
> markus
> 
> <?xml version="1.0"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
> 
> <xsl:template match="/">
> <html>
> <head>
> <xsl:processing-instruction name='output'>
>   <xsl:text>method="html"
> </xsl:text><xsl:text>encoding="</xsl:text><xsl:value-of
> select="$etc/et[attribute::name = 'charset']" /><xsl:text>"</xsl:text>
> </xsl:processing-instruction>
> <title></title>
> </head>
> 
> <body>
>   <xsl:apply-templates />
> </body>
> </html>
> </xsl:template>
> 
> 
> --+------------------------------------------------------------------
> XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
> or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx>
> --+--
> 
> 
> --+------------------------------------------------------------------
> XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
> or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx>
> --+--
> 


--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx>
--+--


Current Thread