Subject: RE: [xsl] Controlling Whitespace in IE From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 4 May 2006 19:08:04 +0100 |
Sadly, IE throws the space away before invoking the XSLT processor. Complaining to Microsoft is unlikely to do much good. If you invoke the transformation from Javascript rather than via the <?xml-stylesheet?> processing instructions, there are magic incantations that cause the whitespace to be preserved. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Spencer Tickner [mailto:spencertickner@xxxxxxxxx] > Sent: 04 May 2006 18:55 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Controlling Whitespace in IE > > Hi Everyone, > > Thanks in advance for the help. > > I'm having an issue with ie's translation of my xml document. > With this document: > > <?xml version="1.0"?> > <?xml-stylesheet type="text/xsl" href="test.xsl"?> <root> > <sentencetext>blah <def>blah blah</def> blah blah > <def>foo</def> <def>bar</def>.</sentencetext> </root> > > the foo and the bar are stuck together. I am using this > stylesheet to try and force them apart: > > <?xml version='1.0'?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:output media-type="html"/> > > <xsl:variable name="cr"><xsl:text> > </xsl:text></xsl:variable> > > <xsl:template match="/"> > <html> > <body> > <xsl:apply-templates/> > </body> > </html> > </xsl:template> > > <xsl:template match="sentencetext"> > <p><xsl:apply-templates/></p><xsl:value-of > select="$cr"/> </xsl:template> > > <xsl:template match="def"> > <a class="definition" > href="something"><em><xsl:apply-templates/></em></a> > </xsl:template> > > <xsl:template match="text()"> > <xsl:choose> > <xsl:when test="normalize-space(.) = ''"><xsl:text> > </xsl:text></xsl:when> <xsl:otherwise><xsl:value-of > select="."/></xsl:otherwise> </xsl:choose> </xsl:template> > > </xsl:stylesheet> > > IE does not seem to be translating the normalize-space > funtion correctly. > > For instance, when I put a 1 before the <xsl:text> > </xsl:text> in firefox I get 1's exactly where I would expect > them and foo and bar are seperated by a space. However in IE, > no 1's appear. Does anybody know of a hack or work around for this. > > Thanks, > > Spencer > Victoria BC, Canada
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Controlling Whitespace in IE, Spencer Tickner | Thread | Re: [xsl] Controlling Whitespace in, Spencer Tickner |
[xsl] Controlling Whitespace in IE, Spencer Tickner | Date | Re: [xsl] Controlling Whitespace in, Spencer Tickner |
Month |