Subject: Re: [xsl] Controlling Whitespace in IE From: "Spencer Tickner" <spencertickner@xxxxxxxxx> Date: Thu, 4 May 2006 10:17:56 -0800 |
Thanks for the response.. Although I have to admit, I feel a little stuck all of a sudden.
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 -> |
---|---|---|
RE: [xsl] Controlling Whitespace in, Michael Kay | Thread | Re: [xsl] Controlling Whitespace in, Mukul Gandhi |
RE: [xsl] Controlling Whitespace in, Michael Kay | Date | Re: [xsl] Controlling Whitespace in, Mukul Gandhi |
Month |