Subject: Re: Transformer adds unwanted newlines
From: John English <je@xxxxxxxxxxxxxx>
Date: Sun, 05 Oct 2008 11:28:44 +0100
|
Michael Kay wrote:
You're doing a two-stage transformation here: first a transformation using a
stylesheet, which then feeds its output in the form of a SAXSource to a JAXP
identity transform which converts the SAXSource to a StreamResult.
I don't know why you're doing this or why it adds newlines, but it does mean
that the xsl:output is going to be ignored because the output of the
stylesheet is not serialized.
This sounds like a good reason.
What happens if you remove the (apparently unnecessary) second step?
Umm, being a bear of very little brain, can you explain what I need to
change below to do this? Sorry to be so dense...
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
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);
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)
----------------------------------------------------------------------
|