Re: [xsl] Output of One Transformation As Input to Another

Subject: Re: [xsl] Output of One Transformation As Input to Another
From: Oleg Tkachenko <olegt@xxxxxxxxxxxxx>
Date: Wed, 06 Nov 2002 19:15:08 +0200
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



Current Thread