Re: [xsl] Line feed in xalan, disappears

Subject: Re: [xsl] Line feed in xalan, disappears
From: Chris Wolf <cwolf.algo@xxxxxxxxx>
Date: Mon, 19 Nov 2012 15:27:01 -0500
I just noticed you said you're "producing html" - I assume that means
<xsl:output method="html/>

If that's the case, don't forget that in HTML, a newline and/or
carriage-return are both considered
whitespace, so the output won't actually start a new line unless you
produce a "<br/>" element to
achieve a new line in a browser or other HTML rendering environment.

So assuming that your context node is "message", you would do this:

<xsl:value-of disable-output-escaping="yes"
            select="concat(substring-before(.,'&#10;'),
            '&lt;br/&gt;', substring-after(.,'&#10;'),'&#10;')"/>

(kind of hideous...)

or this:

        <xsl:value-of select="substring-before(.,'&#10;')"/><br/>
        <xsl:value-of select="substring-after(.,'&#10;')"/>


On Sat, Nov 17, 2012 at 5:13 AM, Mansour Al Akeel
<mansour.alakeel@xxxxxxxxx> wrote:
> Hello all,
> I am having an odd issue and has been stuck on it for some time. I am
> maintaining one of the existing xslts, that produces html.
> The resulting text, is concatenated where there's a line feed (x0A).
> for for example if I have in my xml:
>
> <message>I love
> xslt</message>
>
> and in my xslt:
> <xsl:value-of select="message" />
>
> Then the results is:
>
> I lovexslt
>
> The result doesn't have space or line feed. The xslt is applied
> through the JSTL  <x:transform>.
>
> Thank you all.

Current Thread