Re: [xsl] Transformer adds unwanted newlines

Subject: Re: [xsl] Transformer adds unwanted newlines
From: Robert Koberg <rob@xxxxxxxxxx>
Date: Fri, 3 Oct 2008 07:38:49 -0400
Hi,

In your XSL, is you xsl:output set to indent="yes" ? If so, set it to no.

-Rob


On Oct 3, 2008, at 7:17 AM, John English wrote:


I have a problem with a transformer which adds unwanted newlines. I am
using the Xalan that comes with JDK 1.4.2 (this is an old J2EE project
which breaks if I try to use a newer JDK) and I have a rule to copy HTML
fragments embedded in my XML:


 <xsl:template match='div|span'>
   <xsl:copy-of select="."/>
 </xsl:template>

I put in the following enclosed in <div> ... </div>:

<table cellpadding='10'><tr><td>...

but this is what I get out:

 <table cellpadding="10">
 <tr>
 <td>
 ...

This doesn't matter, except in the following case:

<pre> public class Demo {<br /> <b>public static void</b> main...

which comes out as:

 <pre>  public class Demo {<br>
 <b>public static void</b> main...

That is, Xaalan is inserting newlines between tags which are separated
only by whitespace. In the case of the <pre> block above, the spaces
after <br /> are output, followed by a newline, which means that the
indentation is completely wrong.

I have tried adding indent="no" to my <xsl:output> tag but this has no
effect.

Anyone got any ideas what I can do about this?

TIA,

----------------------------------------------------------------------
John English              | mailto:je@xxxxxxxxxxxxxx
Senior Lecturer           | http://www.it.bton.ac.uk/staff/je
School of Computing & MIS | "Those who don't know their history
University of Brighton    |  are condemned to relive it" (Santayana)
----------------------------------------------------------------------

Current Thread