RE: Whitespace problem in IE5

Subject: RE: Whitespace problem in IE5
From: "John E. Simpson" <simpson@xxxxxxxxxxx>
Date: Thu, 20 May 1999 10:33:57 -0400
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


Current Thread