2008/10/5 Michael Kay <mike(_at_)saxonica(_dot_)com>:
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);
Change it to
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));
StreamResult result = new StreamResult(response.getWriter());
Transformer transformer = stf.newTransformer(new
StreamSource(stylesheet));
SAXSource transformSource = new SAXSource(reader, input);
transformer.transform(transformSource, result);
or you could just do (untested):
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(new StreamSource(stylesheet));
String s = serializeTree();
Result result = new StreamResult(response.getWriter());
transformer.transform(new SAXSource(new InputSource(new
StringReader(s))), result);
...as you don't need to use a SAXParser do you?
Also, depending on what serializeTree() does, you might not need to
serialize/reparse the input.
--
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/
--~------------------------------------------------------------------
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>
--~--