Schwartz, Rechell R, ALCAS wrote:
I am getting an error intrying to take the output of one transformation as
input to another. Following is my code. Any assistance would be greatly
appreciated. The error message I get is "Can't have more than one root in a
DOM!"
Probably your stylesheet produces ill-formed document with more than 1 root
element, transform to a stream and inspect the result.
try {
TransformerFactory tFactory = TransformerFactory.newInstance();
String xsl = "/stylesheets/data.xsl";
Transformer transformer = tFactory.newTransformer(new
StreamSource(getClass().getResourceAsStream(xsl)));
DOMResult domResult = new DOMResult();
transformer.transform(new StreamSource(new
StringReader(hand.detailresult)), domResult);
Document document = (Document)domResult.getNode();
xsl = "/stylesheets/format.xsl";
transformer = tFactory.newTransformer(new
StreamSource(getClass().getResourceAsStream(xsl)));
transformer.transform(new DOMSource(document), new
StreamResult(out));
} catch (Exception e) {
e.printStackTrace();
}
PS. What that DOM object is need here for? SAX could be more effective here.
--
Oleg Tkachenko
eXperanto team
Multiconn Technologies, Israel
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list