I expect that you could use a DOMResult, then get the root node of the
resulting DOM, and wrap a DOMSource around it:
DOMResult result = new DOMResult();
transformer.transform(source, result);
return new DOMSource(result.getNode());
On Wed, 2003-04-09 at 22:44, Andrew Welch wrote:
> Hi,
>
> Sorry if this is a faq...
>
> I have a custom uri resolver that I want to do a transform before passing the
> result back to the requesting stylesheet. How do I go from a result to a
> source? I can write the result out and then read it back in, says as a
> string or bytes, but this seems unecessary... my knowledge of streams is
> really lacking :(
>
> code sample:
>
> public Source resolve(String href, String base) throws TransformerException {
> try {
> URL context = new URL("file:///");
> URL u = new URL(context, href);
>
> InputStream is = new FileInputStream(u.toString());
>
> TransformerFactory tf = TransformerFactory.newInstance();
> Source xsl = new StreamSource(new
> File("C:\\test\\AddElementIdToStylesheet.xsl"));
>
> Result result = new StreamResult(???);
> ^^^what type of result do I need here?
>
> Transformer transformer = tf.newTransformer(xsl);
> transformer.transform(new StreamSource(is, u.toString()), result);
>
> return ????;
> ^^^how do I return the result as a source?
> } catch (Exception ex) {
> System.out.println(ex.toString());
> ex.printStackTrace();
> }
> return null;
> }
>
> cheers
> andrew
>
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.467 / Virus Database: 266 - Release Date: 01/04/2003
>
>