[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: IXSLProcessor - input in UTF-8?

Subject: RE: IXSLProcessor - input in UTF-8?
From: "Gabriel" <gabriel.klappenbach@xxxxxxxxx>
Date: Tue, 13 Sep 2005 17:32:08 +0200
xsl input encoding
I get the XML from a COM-object that I use in an ASP page:

<% @LANGUAGE="VBSCRIPT" %>

<%
option explicit
Response.Expires=-1
'Response.ContentType = "text/html"

' setup XML-server
------------------------------------------------------------------
dim o
set o = Server.CreateObject("MwebbCOM.MwebbCOM.1")
o.httpRemoteUser = Request.ServerVariables("REMOTE_USER")
o.httpRemoteAddr = Request.ServerVariables("REMOTE_ADDR")
o.httpQueryString = Request.QueryString
o.BeginTransaction


' --------------------------------------------------------------------
' setup ADODB Stream -------------------------------------------------
dim oStream
set oStream = createobject("Adodb.Stream")
oStream.Type = 2
oStream.Charset = "UTF-8"
oStream.open

oStream.writeText o.document
oStream.position = 0

' load XML and XSL ---------------------------------------------------
dim domXML, domXSL, processor, template
set domXSL = Server.createObject("MSXML2.FreeThreadedDOMDocument.5.0")
set domXML = Server.createObject("MSXML2.DOMDocument.5.0")

domXSL.load(Server.MapPath("XSL/PC/PC-templates.xsl"))

domXML.load(oStream)

' output with IXSLProcessor ------------------------------------------
Set template = Server.CreateObject("MSXML2.XSLTemplate.5.0")
template.stylesheet = domXSL
set processor = template.createProcessor()

processor.input = domXML
processor.output = Response
processor.transform()
%>

As you can see I put the XML in a stream and then load it into a DOM XML
object. This serves as input to IXSLProcessor.

The xml has the declaration <?xml version="1.0" encoding="UTF-8"?>

What could be non XML aware in my code?

> -----Ursprungligt meddelande-----
> Fren: andrew welch [mailto:andrew.j.welch@xxxxxxxxx]
> Skickat: den 13 september 2005 17:18
> Till: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Dmne: Re:  IXSLProcessor - input in UTF-8?
>
> On 9/13/05, Gabriel <gabriel.klappenbach@xxxxxxxxx> wrote:
> > The input XML of course defines the encoding as UTF-8, and really is
> encoded
> > in UTF-8, but IXSLProcessor still reads it as ISO-8859-1. So it ignores
> the
> > declaration in the XML file.
> >
> > The transform is taking place server side.
> >
> > So are you saying the IXSProcessor is supposed to be able to read the
> > encoding specified in the XML file?
>
> Yes - If the encoding is specified in the xml prologue in the file
> then the xml parser has to read the file in that encoding - if it
> doesn't then its non-conforming.
>
> You may be doing by accident what I was trying to achieve the other
> day - parse the file in a particular encoding ignoring the encoding
> given in the prolog.  How are you reading the XML into the transform?
> If it's in a non-xml aware way then you are likely reading the bytes
> in the platform encoding and then the characters as XML.
>
> In Java this is a FileInputStream -> InputStreamReader.  The
> FileInputStream doesn't know about XML and so reads the file in
> whatever encoding you tell it to.
>
> If you post some code someone might know the equivalent in .Net

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.