xsl-list
[Top] [All Lists]

Re: [xsl] Controlling Whitespace in IE

2006-05-04 11:18:38
Hi Michael,

Thanks for the response.. Although I have to admit, I feel a little
stuck all of a sudden.

Spencer

On 5/4/06, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:
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(_at_)gmail(_dot_)com]
> Sent: 04 May 2006 18:55
> To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
> 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
>
> --~------------------------------------------------------------------
> 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(_at_)lists(_dot_)mulberrytech(_dot_)com>
> --~--
>


--~------------------------------------------------------------------
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(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
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(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>