xsl-list
[Top] [All Lists]

Re: [xsl] Transformer adds unwanted newlines

2008-10-03 09:07:18

On Oct 3, 2008, at 8:22 AM, John English wrote:

David Carlisle wrote:
Anyone got any ideas what I can do about this?
but ignoring indent=no sounds less likely, are you sure you don't have another xsl:output somewhere, or that you are not outputing an XMl tree
that is then being serialised by some other JDK methord rather than
being serialised by XSLT?

No other xsl:output, and all I do in the transform is this:

 SAXParserFactory spf = SAXParserFactory.newInstance();
 spf.setNamespaceAware(true);
 SAXParser parser = spf.newSAXParser();
 reader = parser.getXMLReader();
 stf = (SAXTransformerFactory) TransformerFactory.newInstance();
 String s = serializeTree();
 System.out.println("DEBUG: " + s);     // <------- DEBUG

But this really has nothing to do with the transformation (other than being the source :) ).


 InputSource input = new InputSource(new StringReader(s));
 filter = stf.newXMLFilter(new StreamSource(stylesheet));
 filter.setParent(reader);
 StreamResult result = new StreamResult(response.getWriter());
 Transformer transformer = stf.newTransformer();
 SAXSource transformSource = new SAXSource(filter, input);
 transformer.transform(transformSource, result);

Perhaps you can simply add:

<xsl:strip-space elements="*"/>

It is a performance hit, but probably not more than replaceAll

best,
-Rob




At the point where the DEBUG output is, the serialized tree is as I've
described it; the extra newlines appear in the output also as described.

In the meantime I have kludged up a workaround when I serialise the
tree:

 if (tagName.equals("pre")) {
   d = d.replaceAll("<br[^>]*>","\n");
 }

This works but it offends my sensibilities!

Thanks,

----------------------------------------------------------------------
John English              | mailto:je(_at_)brighton(_dot_)ac(_dot_)uk
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)
----------------------------------------------------------------------

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--