[xsl] Transformer adds unwanted newlines

Subject: [xsl] Transformer adds unwanted newlines
From: John English <je@xxxxxxxxxxxxxx>
Date: Fri, 03 Oct 2008 12:33:21 +0100
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="."/>

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

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

but this is what I get out:

  <table cellpadding="10">

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

Anyone got any ideas what I can do about this?


 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