Subject: Re: Whitespace problem in IE5 From: "Chanukov Orit" <orit@xxxxxxxxxxxxxxx> Date: Wed, 26 May 1999 11:34:34 +0200 |
Hi . Thanks for the answer . I tried it , but unfortunately it still doesn't work . See attached XML/XSL files with this change . Any ideas or comments will be appreciated . Thanks again , Orit . ----- Original Message ----- From: Dave Dieno <daved@xxxxxxxxxxxx> To: <xsl-list@xxxxxxxxxxxxxxxx> Sent: Tuesday, May 25, 1999 7:59 PM Subject: RE: Whitespace problem in IE5 > 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 >
<?xml version='1.0'?> <?xml:stylesheet type="text/xsl" href="spaces1.xsl" xml:space="preserve"?> <Screen > <Spaces xml:space="preserve"> </Spaces> <Field colr="2">This text should be shown with offset 20</Field> </Screen>
<?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"> <PRE ><xsl:eval > getText(this) </xsl:eval></PRE> </xsl:template> </xsl:stylesheet>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: Whitespace problem in IE5, Dave Dieno | Thread | Re: Whitespace problem in IE5, Dave Pawson |
Re: format-number() for a phone num, Liam R. E. Quin | Date | RE: Is there some differences betwe, Sall, Ken |
Month |