[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: Whitespace problem in IE5


Subject: RE: Whitespace problem in IE5
From: Dave Dieno <daved@xxxxxxxxxxxx>
Date: Tue, 25 May 1999 10:59:33 -0700

I think you need an HTML <PRE>...</PRE> block in your output stream...
I.E.
	<xsl:template match="Spaces">
	     <PRE>
	     <xsl:eval > getText(this) </xsl:eval>
	     </PRE>
	 </xsl:template>

Cheers
Dave


> Hello .
> Can anybody answer  on this question please ?
> I have a problem with displaying whitespaces for a long time , and asked
> some times this list about it ,
> but didn't receive any answer .
> Any comments will be appreciated .
> Thanks in advance ,
> Orit .
> 
> 
> ----- Original Message -----
> From: Chanukov Orit <orit@xxxxxxxxxxxxxxx>
> To: <xsl-list@xxxxxxxxxxxxxxxx>
> Sent: Sunday, May 23, 1999 12:44 PM
> Subject: Re: Whitespace problem in IE5
> 
> 
> > Hello .
> >
> > I'm transforming XML to HTML via XSL using IE5 too .
> > I put there Dave's solution with <xsl:script>, but it still strips the
> > whitespace.
> > Could You please look on my XML/XSL test files  ?
> > What wrong here ?
> >
> > XML :
> >
> > <?xml version='1.0'?>
> > <?xml:stylesheet type="text/xsl" href="spaces1.xsl"
> xml:space="preserve"?>
> > <Screen >
> > <Spaces xml:space="preserve">                    </Spaces>
> > <Field >This text should be shown with offset 20</Field>
> > </Screen>
> >
> >
> > XSL :
> >
> > <?xml version='1.0'?>
> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
> > <xsl:template match="/">
> > <HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
> >  <BODY xml:space="preserve"  >
> >  <xsl:apply-templates select="Screen"/>
> >  </BODY>
> > </HTML>
> > </xsl:template>
> >
> > <xsl:script><![CDATA[
> >   function getText(e) {
> >     return (e.text);
> > }
> > ]]></xsl:script>
> >
> > <xsl:template match="Screen">
> >  <xsl:apply-templates />
> > </xsl:template>
> >
> > <xsl:template match="Field">
> >   <xsl:apply-templates />
> > </xsl:template>
> >
> > <xsl:template match="text()"><xsl:value-of /></xsl:template>
> >
> > <xsl:template match="Spaces">
> >     <xsl:eval > getText(this) </xsl:eval>
> > </xsl:template>
> > </xsl:stylesheet>
> >
> >
> > Thanks ,
> > Orit .
> >
> >
> >
> > ----- Original Message -----
> > From: Dave Dieno <daved@xxxxxxxxxxxx>
> > To: <xsl-list@xxxxxxxxxxxxxxxx>
> > Sent: Thursday, May 20, 1999 7:14 PM
> > Subject: RE: Whitespace problem in IE5
> >
> >
> > > FYI:
> > >
> > > I managed to work around the problem in IE5 with some help from MSDN
> (see
> > > Controlling Whitespace :
> > > http://msdn.microsoft.com/xml/xslguide/xsl-whitespace.asp ).
> > >
> > > If you want to preserve the whitespace in your source document you
> have
> to
> > > specify the following attribute for those source document elements
> with
> > > whitespace, for example:
> > >
> > > <sourceline xml:space="preserve">
> > >
> > > This passes the whitespace through to the stylesheet.
> > >
> > > However, it seems that in IE5 the <xsl:value-of> element strips the
> > leading
> > > whitespace.   When I looked at the text value of the <sourceline> node
> > using
> > > Jscript and the DOM I found a workaround.
> > >
> > > <xsl:template match="sourceline">
> > >     <xsl:eval> getText(this) </xsl:eval>
> > > </xsl:template>
> > >
> > > <xsl:script><![CDATA[
> > >   function getText(e) {
> > >     return (e.text);
> > > }
> > >
> > > Not very elegant, but it works :)
> > >
> > > Cheers,
> > > Dave
> > >
> > >
> > > > I haven't tried this, but I seem to remember its coming up before.
> If
> I
> > > > recall, the solution is to use an <xsl:text> element to force the
> > spaces.
> > > > Something like:
> > > >
> > > > <PRE><xsl:text>     </xsl:text>Indented text</PRE>
> > > >
> > > > Worst case would be to use entity references for non-breaking
> spaces.
> > > >
> > > > Hope that helps,
> > > > John
> > > >
> > > > At 09:12 PM 05/19/1999 -0700, Dave Dieno wrote:
> > > > >Yes, the HTML is placed in a <PRE> section... sorry, I should have
> > > > included
> > > > >the XSL template:
> > > > >
> > > > ><xsl:template match="sourceline">
> > > > > <PRE STYLE="font-family:monospace">
> > > > >      <xsl:value-of />
> > > > >  </PRE>
> > > > ></xsl:template>
> > > > >
> > > > >I've also considered (but not tried) using the DTD approach I.E.
> > > > <!ATTLIST
> > > > >sourceline xml:space="preserve"> however I'm trying not to use a
> DTD
> > for
> > > > >this project :)
> > > > >Dave
> > > > >
> > > > > Steve Dahl wrote:
> > > > >
> > > > >> When you generate the HTML, do you put these text lines inside a
> > <PRE>
> > > > >> section?
> > > > >>
> > > > >> XML's specifications control how XML is treated, but not how HTML
> is
> > > > >> treated--HTML strips preceding and following whitespace unless
> the
> > text
> > > > is
> > > > >> in
> > > > >> a <PRE>, and does not pay attention to xml:space.
> > > > >>
> > > > >>
> > > > >> Dave Dieno wrote:
> > > > >>
> > > > >> > I'm transforming XML to HTML via XSL using IE5.
> > > > >> >
> > > > >> > I've got an XML element for which I would like to preserve the
> > > > >> whitespace
> > > > >> > upon output to HTML.
> > > > >> >
> > > > >> > For example, I'd like the following XML fragment:
> > > > >> >
> > > > >> > <codelisting>
> > > > >> > <sourceline>
> > > > >> >     if ( x  ==    "testcase") {
> > > > >> > </sourceline>
> > > > >> > <sourceline>
> > > > >> >         o.method(x);
> > > > >> > </sourceline>
> > > > >> > <sourceline>
> > > > >> >     }
> > > > >> > </sourceline>
> > > > >> > </codelisting>
> > > > >> >
> > > > >> > Viewed in the browser as:
> > > > >> >
> > > > >> >     if ( x  ==    "testcase") {
> > > > >> >         o.method(x);
> > > > >> >     }
> > > > >> >
> > > > >> > My output font is monospaced, and I've tried using both the
> > > > stylesheet
> > > > >> > attribute:
> > > > >> >
> > > > >> > <xsl:stylesheet default-space="preserve"> and the element
> > attribute:
> > > > >> >
> > > > >> > <sourceline xml:space="preserve">.
> > > > >> >
> > > > >> > What I get is:
> > > > >> >
> > > > >> > if ( x  ==    "testcase") {
> > > > >> > o.method(x);
> > > > >> > }
> > > > >> >
> > > > >> > While the whitespace within a line is preserved, all of the
> leading
> > > > >> > whitespace characters (spaces and tabs) are removed :(
> > > > >> >
> > > > >> > Any ideas?
> > > > >> >
> > > > >> > Thanks,
> > > > >> > Dave Dieno
> > > > >> > Aeroinfo Systems Inc.
> > > > >> > http://www.aeroinfo.com
> > > > >> >
> > > > >> >  XSL-List info and archive:
> > http://www.mulberrytech.com/xsl/xsl-list
> > > > >>
> > > > >> --
> > > > >> - Steve Dahl
> > > > >> sdahl@xxxxxxxxxxx
> > > >
> > > > ==========================================================
> > > > John E. Simpson            | The secret of eternal youth
> > > > simpson@xxxxxxxxxxx        | is arrested development.
> > > > http://www.flixml.org      |  -- Alice Roosevelt Longworth
> > > >
> > > >
> > > >  XSL-List info and archive:
> http://www.mulberrytech.com/xsl/xsl-list
> > >
> > >
> > >  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> > >
> >
> >
> >  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> >
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread
Keywords