Subject: [xsl] xml-to-xml output does not show properly on IE5 From: "Anne Honkaranta" <ankarjal@xxxxxxxxx> Date: Tue, 2 Oct 2001 16:36:44 +0300 |
Hello! Here is another silly question considering Microsoft Internet Explorer and XML/XSLT. I apologize if this seems to be a little bit over of this list's main focus. I've browsed through Microsoft documentation and MSXML3.0SDK, and tried to make searches on the XSLT-list archive but with no success. I use Microsoft IE6, in which I have installed MSXML3.0 parser in replace mode. For studying the output of XSLT transformations I useMicrosoft IE tools for validating XML and viewing SXLT output. I also use MS IIS5.0 server. I've been having lots of problems with character encodings, since I have use iso-8859-1.Now I think I have made it work on server-side, but the problem I seem not to be able to solve is that XML-to-XML transformation output does not show properly on the Internet Explorer when transformation is being done on a client side. By "not show properly" I mean that the IE does not show the output document with it's fancy XSLT stylesheet it uses for showing XML documents. The output document shows as a junk of text, from which the element tags have been rendered off. When using "show XSLT output" -tool to source document with PI, I see that output document seems to be well-formed XML, xml tags are on the appropriate places and the encoding declaration is OK. The problem occurs on both occasions on a client side transformations: *when I do the transformation using a PI in source XML document, *when I try to make it work by using a html page which loads the source document and transformation document as DOM objects. I've been doing XML-to-HTML and XML-to-HTML transformations with the same techniques and similar scripts (asp&html) and the output documents have been rendered just fine. I saw some postings about it on this list, saying to use save() and to use transformNodeToObject, but I cannot figure out how. I suspect the problem is, anyhow, encoding- related. Here are my example documents: ************************************************ Main template (a clip of the whole transformation) from v2tov3.xsl in /Xslt <?xml version='1.0' encoding='iso-8859-1'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes" omit-xml-declaration="yes" /> <xsl:template match="/"> <xsl:text disable-output-escaping="yes"><?xml version="1.0" encoding="iso-8859-1"?></xsl:text> <xsl:apply-templates select="*" /> </xsl:template> <xsl:template match="*"> ...make identity transformation and add some attributes... </xsl:template> </xsl:stylesheet> ************************************************************* A start of a source document with PI added to it for client-side transformation (file Pinkku2.xml in /Runot/): <?xml version="1.0" ?> <?xml-stylesheet type="text/xsl" href="../Xslt/v2tov3.xsl" ?> <!DOCTYPE RUNO SYSTEM "../Dtd/runo2.dtd" [<!ENTITY Pinkku SYSTEM "../Kuvat/Penguin.gif" NDATA GIF>]> <RUNO TYYPPI="LASTEN"> ... some tagged text </RUNO> ********************************************************** .. when Pinkku2.xml is opened in IE 5 the tags disappear form screen view. the appropriate xml tags are there when output is studied using Microsoft IE XSLT Output viewer. Source document is well-formed according to Microsoft Validate XML-tool (in IE) ********************************************************** Transformation on client using DOM objects; (presumably the fault is transformNode and Document.Write?): <HTML><HEAD></HEAD><BODY> <SCRIPT LANGUAGE=VBSCRIPT CODEPAGE="ISO-8859-1"> Dim objDocument, objTransform, objXML Set objDoc = CreateObject("MSXML2.DOMDocument") Set objXSL = CreateObject ("MSXML2.DOMDocument") objDoc.async=false objXSL.async=false objDoc.Load "Runot/Pinkku2.xml" objXSL.Load "Xslt/v2tov3.xsl" objXML = objDoc.transformNode(objXSL) Document.write objXML </SCRIPT></BODY></HTML> -When I try to use transformNodeToObject; I get an error (of transformNodeToObject method or it's parameters). ********************************************************** However, on my server-side asp script I followed an advice I found on this list and changed the objXML to xmlResponseDoc and then did (after loading the documents) the transformation and sending the output document to client on a same phrase: xmlResponseDoc=(objDoc.transformNodeToObject(objXSL, Response)) -this worked, and the resulting XML-output document that was rendered on IE was OK; the element tags were visible, the document was styled with MS XSLT stylesheet and everything was OK. ********************************************************* I appriciate your help or ideas to solve this problem. Any ideas are welcome. Please, if you know what is wrong with my code be kind to provide a whole example script from document load to sending it out so that even people with thick heads (such as I ) can see how it should be used, and with which parameters. Greetings, Anne Honkaranta University of Jyväskylä Finland ankarjal@xxxxxxxxx XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] ANN: Only 2 days to get Xsele, Trace Wilson | Thread | RE: [xsl] xml-to-xml output does no, Julian Reschke |
[xsl] XSL-T to map a D(A)G, Mark Nahabedian | Date | [xsl] Can you use DOM and SAX?, Hewko, Doug |
Month |